博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot手动封装一个starter
阅读量:4230 次
发布时间:2019-05-26

本文共 3086 字,大约阅读时间需要 10 分钟。

准备要封装的组件

com.itpsc
com-itpsc-service
1.0

里面定义一个简单的类

public class UserService {    private String username;    private String password;    public void print() {        System.out.println("username=" + username + " password=" + password);    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }}

mvn clean install发布到本地仓库。

新建一个starter

引入依赖

com.itpsc.spring.boot
itpsc-spring-boot-starter
1.0-SNAPSHOT
org.springframework.boot
spring-boot-starter
2.0.4.RELEASE
org.springframework.boot
spring-boot-autoconfigure
2.0.4.RELEASE
org.springframework.boot
spring-boot-configuration-processor
2.0.4.RELEASE
com.itpsc
com-itpsc-service
1.0

编写读取配置类

下面的类用于读取yml或者properties中的配置信息

@ConfigurationProperties(prefix = "com.itpsc")public class UserProperties {    private String username;    private String password;    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }}

使配置生效,并创建需要使用的bean

@Configuration@EnableConfigurationProperties(UserProperties.class)public class UserAutoConfiguration {    @Bean    public UserService getBean(UserProperties userProperties) {        UserService userService = new UserService();        userService.setUsername(userProperties.getUsername());        userService.setPassword(userProperties.getPassword());        return userService;    }}

自动装配

在resources目录下新建目录META-INF,在META-INF下新建文件spring.factories,该文件中添加如下内容。

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\  com.itpsc.spring.boot.starter.UserAutoConfiguration

使用

新建一个springboot工程,新增如下依赖

com.itpsc.spring.boot
itpsc-spring-boot-starter
1.0-SNAPSHOT

application.properties中添加如下信息

com.itpsc.username=itpsccom.itpsc.password=itpsc@123

启动springboot

@SpringBootApplicationpublic class BootItpscTestApplication {    public static void main(String[] args) {        ApplicationContext applicationContext = SpringApplication.run(BootItpscTestApplication.class, args);        UserService userService = applicationContext.getBean(UserService.class);        userService.print();    }}

输出结果

username=itpsc password=itpsc@123

如此,自动装配就完成了。

转载地址:http://tsjqi.baihongyu.com/

你可能感兴趣的文章
Mastering AspectJ: Aspect-Oriented Programming in Java
查看>>
Mastering Jakarta Struts
查看>>
Java and XSLT
查看>>
Learning PHP 5
查看>>
Building Java Enterprise Applications Volume I: Architecture
查看>>
Microsoft SQL Server 2000 Weekend Crash Course
查看>>
Struts: The Complete Reference
查看>>
Complex IT Project Management: 16 Steps to Success
查看>>
Project Risk Management Guidelines : Managing Risk in Large Projects and Complex Procurements
查看>>
SQL for Microsoft Access
查看>>
Visual Basic 2005 Express: Now Playing
查看>>
Jakarta Struts Cookbook
查看>>
AspectJ Cookbook
查看>>
IntelliJ IDEA in Action
查看>>
HTML Professional Projects
查看>>
Python Cookbook, Second Edition
查看>>
Java Extreme Programming Cookbook
查看>>
XSLT Cookbook
查看>>
Java Programming with Oracle JDBC
查看>>
XML, XSLT, Java, and JSP: A Case Study in Developing a Web Application
查看>>