SpringBoot之自定义场景启动器 |
您所在的位置:网站首页 › 快捷启动器是什么意思 › SpringBoot之自定义场景启动器 |
1. 场景启动器
Spring Boot的自动配置原理中不可或缺的就是那些已经定义好的场景启动器,只要导入某个场景启动器我们的应用就拥有了该场景下的一些核心Bean,有利于快速开发,比如引入Web的场景启动器: org.springframework.boot spring-boot-starter-web我们就可以快速开发Web服务,Spring Boot官方提供了众多的场景启动器供开发者使用,但这些场景启动器也并不能满足开发者各式各样的需求。比如Dubbo很好用,我们希望能够有一个Dubbo的场景启动器能够快速使用Dubbo的功能,因此阿里就推出了dubbo-spring-boot-starter的场景启动器,这也是延续了Spring的整合一切的思想。 2. 命名规则场景启动器的命名其实本身可以随意命名,但在JAVA领域总有一些约定,比如类名、方法名要见名知意,Spring Boot官方自己出产的场景启动器都是以spring-boot-starter开头再加模块名称,比如: spring-boot-starter-webspring-boot-starter-jdbcspring-boot-starter-cache非官方出产的场景启动器都是以模块名称开头再加spring-boot-starter,比如: mybatis-spring-boot-starterdubbo-spring-boot-starter 3. 开发规则场景启动器帮我们做了什么? 场景启动器帮我们引入了某个场景下所需要的依赖JAR提供了自动配置类给IOC容器注入该场景下的核心Bean其中自动配置类会用到很多条件注解来判断是否符合场景,Spring Boot提供的条件注解如下: 注解作用@ConditionalOnBean判断某个Bean是否存在@ConditionalOnClass判断某个class是否存在@ConditionalOnExpression判断某个表达式是否成立@ConditionalOnJava判断是否是运行的指定版本的JAVA@ConditionalOnJndi判断指定资源是否是通过JNDI加载@ConditionalOnMissingBean判断某个Bean是否不存在@ConditionalOnMissingClass判断某个class是否不存在@ConditionOnWebApplication判断是否是Web应用@ConditionOnProperty判断某个配置是否是指定的内容@Conditional设置实现Condition接口的类,实现自定义条件例如缓存场景启动器的自动配置类CacheAutoConfiguration如下: 定义一个场景启动器,名称为:hello-spring-boot-starter,该启动器提供一个核心Bean,名称为helloBean,可以输出启动器的名称,工程结构如下: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |