当前位置: 首页 > news >正文

建设律师推广网站电脑课程培训零基础

建设律师推广网站,电脑课程培训零基础,管网建设,南昌市城乡建设委员会新网站SpringBoot自动装配原理: EnableAutoConfiguration注解开启自动装配功能,该注解通常放在应用的主类上。spring.factories文件位于META-INF目录下的配置文件中定义各个自动装配类的全限定名 当SpringBoot启动时,会加载classpath下所有的spri…

SpringBoot自动装配原理:

  1. @EnableAutoConfiguration注解开启自动装配功能,该注解通常放在应用的主类上。
  2. spring.factories文件位于META-INF目录下的配置文件中定义各个自动装配类的全限定名

当SpringBoot启动时,会加载classpath下所有的spring.factories文件,并根据定义的自动配置类全限定名,将其实例化并添加到Spring应用上下文中。
自动配置类通常会通过@Configuration注解标注(@ComponentScan/@Import等)实现各种逻辑

官方提供的starter命名:spring-boot-starter-xxx
第三方提供的starter明明:xxx-spring-boot-starter

SpringBoot常见的starter

在这里插入图片描述

====================================================

自定义一个redisson的starter

一、创建按一个SpringBoot项目,命名:redisson-spring-boot-starter

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><version>2.3.1.RELEASE</version><!-- 不让jar进行传递 避免jar包冲突--><optional>true</optional></dependency><dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.13.1</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency>
</dependencies>

二、创建配置解析类RedissonProperties

@ConfigurationProperties(prefix = "tian.redisson")
public class RedissonProperties{private String host = "localhost";private int port = 6379;private int timeout;//get   set 省略
}

三、自动装配类

@EnableConfigurationProperties(RedissonProperties.class)
@Configuration
public class RedissonAutoConfiguration{private static final String PREFIX = "redis://";@Beanpublic RedissonClient redissonClient(RedissonProperties redissonProperties){Config config = new Config();//redis单机模式config.useSingleServer().setAddress(PREFIX+redissonProperties.getHost()+":"+redissonProperties.getPort()).setConnectTimeout(redissonProperties.getTimeout());return Redisson.create(config);}
}

四、resources目录下创建META-INF,在此目录下创建spring.factories文件

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\com.tian.RedissonAutoConfiguration

五、使用自定义starter

再创建一个SpringBoot项目,引入自定义starter

<dependency><groupId>com.tian</groupId><artifactId>charge-sms-spring-boot-starter</artifactId><version>1.0-SNAPSHOT</version>
</dependency>

ResissonProperties类中对host和port赋予了默认值,所以在application.properties配置文件中若不配任何参数,使用的就是默认值。
也可以配置

tian.redisson.host=localhost
tian.redisson.port=6379
tian.redisson.timeout=1000

六、实际应用

@Slf4j
@RestController
@RequestMapping("/test")
public class TestController{@Resourceprivate RedissonClient redissonClient;@GetMapping("/redisson")public String redisson(){}
}

在这里插入图片描述

配置提示功能
在这里插入图片描述

在META-INF下面创建一个文件 additional-spring-configuration-metadata.json
文件内容如下:

{"properties": [{"name": "tian.redisson.host","type": "java.lang.String","description": "redis服务地址ip","defaultValue": "localhost"},{"name": "tian.redisson.port","type": "java.lang.Integer","description": "redis服务端口号","defaultValue": 6379},{"name": "tian.redisson.timeout","type": "java.lang.Integer","description": "redis连接超时时间","defaultValue": 1000}]
}

重新打包,在使用的项目里执行Reload All Maven,再去properties中就会有对应的提示了。

http://www.shuangfujiaoyu.com/news/44032.html

相关文章:

  • 专门做善事的网站微商引流被加方法精准客源
  • wordpress编辑器问题google移动服务应用优化
  • 温州网站关键词推广企业培训机构
  • 北京南昌网站建设新站优化案例
  • 珠海网站制作费用网络营销的营销方式
  • 域名查询注册信息合肥品牌seo
  • 网站注册转化率高端网站建设制作
  • 政府网站建设工作汇报seo怎么优化
  • 做ppt哪个网站的图片好网络推广营销培训机构
  • 用自己网站做邮箱域名解析企业宣传视频
  • 怎么用ps做静态网站seo是什么牌子
  • 做网站需要icp经营许可证seo百度推广
  • 嘉兴网站排名公司谷歌商店官网下载
  • 京东的网站建设历史绍兴seo排名
  • 嘉兴网站搭建百度关键词优化送网站
  • 北辰做网站公司seo面试常见问题及答案
  • 定制网站需要多少钱中国今天新闻最新消息
  • 网站建设和网站优化哪个重要给你一个网站怎么优化
  • 阿里云可以放几个网站精准营销方式有哪些
  • 1网站建设营销策略有哪些4种
  • 杭州做网站找力果东莞seo推广
  • 黑苹果做网站开发吗微博营销
  • 小程序开发成本班级优化大师
  • 公司百度网站建设国内最好的seo培训
  • 网站的建设要多少钱大学生创新创业大赛
  • 成都网站建设 四川冠辰seo网络优化软件
  • 长沙市政府网站建设现状百度公司简介介绍
  • 宝鸡网站开发seo搜索引擎优化实训报告
  • wordpress改网站logo怎么做网站赚钱
  • 网站建造免费5g网络优化工程师