当前位置: 首页 > 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.tj-hxxt.cn/news/97558.html

相关文章:

  • 百度推广自己做网站好搜网惠州seo
  • 上海网站建设专业公司宁波seo教程行业推广
  • 自建网站平台可以实现哪些功能信息流广告推广
  • 网站建设 浏览器兼容html网页制作模板
  • 店铺域名是什么意思外贸网站推广与优化
  • 通州网络推广seo上排名
  • 东莞市官网网站建设平台seo建站收费地震
  • python做后台网站的多吗东莞网络推广优化排名
  • 微信分享的h5网站开发开发网站需要多少钱
  • ui设计周末培训学校平台优化
  • 网站做facebook推广青岛网站设计公司哪家好
  • 免费建站的网站网络网站推广
  • 互联网创意网站有哪些方面被代运营骗了去哪投诉
  • 网站开发电销常遇到问题网站制作软件
  • wordpress文件上传位置修改百度提升优化
  • 腾讯企点qtrade深圳市seo上词贵不贵
  • 网站建设费用会计科目搜索引擎优化的策略主要有
  • 怎么给网站引流对网站和网页的认识
  • 盐山网站制作b站暴躁姐
  • 顺义区做网站的公司厦门网站建设公司哪家好
  • 销售网站开发步骤找平台推广
  • 做网站是怎样赚钱的北京网站定制公司
  • 饮料网站建设规划书河北seo推广方案
  • 国外做饮料视频网站点击排名优化
  • 心理咨询类微网站怎么做市场调研报告内容
  • 全国地推公司排名优化大师官方
  • 潍坊市建设厅网站百度搜索服务
  • wordpress国外图片主题黑帽seo是什么
  • 网站建设公司发展前景上海站优云网络科技有限公司
  • 网站哪里做百度客户服务电话