提示:本文主要讲述如何自行开发一个SpringBoot的starter
文章目录
目录
前言
开发这个主要是为了以后的工作可以更加轻松一点,能够快速的实现一些业务代码
一、Starter是什么
相信大家在学习的时候都有使用过Starter,但是应该还没有人自己动手制作过一个Starter吧,希望这期搭建一个简单的博客,可以帮助到大家
二、创建一个SpringBoot项目
1.创建一个基本的SpringBoot项目
2.选择要下载的库
上面的这个库是必须下载的,是为了你将来给配置文件的写入的时候有代码提示的
这个包我就不多介绍了,应该学习SpringBoot的都知道这个包
三、设置项目
1.提示
设置项目的maven的路径提示啊,JDK什么的我就这里不做了
2.配置pom.xml
<groupId>com.xinggui</groupId>
<artifactId>starter-demo</artifactId>
<version>0.0.1</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3.重点代码
1.创建一个User类
@Data
public class User {
private String name;
private Integer age;
public User(String name, Integer age) {
this.name = name;
this.age = age;
}
}
2.创建一个modelConfig类
/**
* 配置类,用于管理模型相关的配置属性。
* 通过@ConfigurationProperties注解,指定了配置属性的前缀为"xinggui.demo"。
* 使用@ComponentScan注解,指示Spring扫描指定包下的组件。
*/
@Configuration
@ConfigurationProperties(prefix = "xinggui.demo")
@Data
@ComponentScan
public class modelConfig {
/**
* 用户名称属性。
*/
private String name;
/**
* 用户年龄属性。
*/
private Integer age;
/**
* 定义一个Bean方法,返回一个User对象的字符串表示。
* 此方法通过注入name和age属性创建一个新的User对象,并将其转换为字符串形式返回。
* @return 返回一个包含用户姓名和年龄信息的字符串。
*/
@Bean
public String user(){
return new User(name,age).toString();
}
}
3.创建一个DemoClient类
public class DemoClient {
private String name;
private Integer age;
public DemoClient(String name, Integer age) {
this.name = name;
this.age = age;
}
public String setUser(String userName, Integer passWord){
return new User(name,age).toString();
}
}
4.目录结构
5.创建一个resources目录
# spring boot starter
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.xinggui.starterdemo.modelConfig
# com.xinggui.starterdemo.modelConfig位置写你自己的配置路径配置类
6.生成Starter
四、使用
打开另一个项目引入这个依赖
引入的依赖内容应该是
1.配置文件
application.yml
xinggui:
demo:
name: xinggui
age: 18
获取配置文件中的值
测试方式写法