时间:2021-05-19
这篇文章主要介绍了spring boot微服务自定义starter原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
使用spring boot开发微服务后,工程的数量大大增加(一定要按照领域来切,不要一个中间件客户端包一个),让各个jar从开发和运行时自包含成了一个重要的内容之一。spring boot starter就可以用来解决该问题(没事启动时别依赖于applicationContext.getBean获取bean进行处理,依赖关系太折腾,有时候在复杂系统中解决此事比较麻烦,需要修改开源框架代码才能实现,反过来修改开源源码后,维护也是个麻烦事)。言归正传,说说自定义starter。首先请熟悉spring boot的核心理念,不然容易为了starter而starter,这种情况太多了。
创建一个maven项目,在pom文件中添加如下依赖:
创建properties属性类,用于读取属性(当然可选,如果一开始没有按照spring boot autoconfig的套路来,改起来还是挺费劲的,但是一旦这么做了,就会想,TMD这才是真正的开发模式,@Value那套早该丢了)。
@ConfigurationProperties配置此注解可以自动导入application.properties配置文件中的属性,前提需要指定属性前缀prefix。
3.创建配置类
public class HelloService { private String name; private String hobby; public String getName() { return "name is " + name; } public String getHobby() { return "hobby is " + hobby; } public void setName(String name) { this.name = name; } public void setHobby(String hobby) { this.hobby = hobby; }}4.创建自动配置类:
5.在resources文件夹下面新建一个META-INF文件,并在下面创建spring.factories文件,将4中的配置类进行注册。
6.新建一个springboot项目,在pom文件中添加刚刚打包的jar的坐标。
7.使用@Autowired访问接口。
相比原来要使用@Import注解导入一个@Configuration类,或者在一处集中维护ComponentScan的所有路径,使用autoconfigure starter可以让应用明显实现的更加自包含和解耦。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
自定义Starter命名规则注意artifactId的命名规则,Spring官方Starter通常命名为spring-boot-starter-{name}如s
自定义Starter命名规则注意artifactId的命名规则,Spring官方Starter通常命名为spring-boot-starter-{name}如s
前言:前面已经介绍了自动配置的很多原理,现在我们着手自己定义一个starter。需求:自定义redis-starter,要求当导入redis坐标后,Spring
SpringBoot如何快速配置数据源;有如下两种方式:通过spring-boot-starter-jdbc快速配置数据源自定义数据源DataSource首先我
前言:前面几篇讲了自定义控件绘制原理Android自定义控件基本原理详解(一),Android自定义控件之自定义属性(二),Android自定义控件之自定义组合