文章目录作者:不染心
时间:2022/7/20
- Spring Start制作
- 制作start
- 使用start
Project Structure
package com.dyl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.annotation.Resource;
@Configuration // 标志为注解类
//@ConditionalOnWebApplication //是web类的时候加载
@EnableConfigurationProperties(HelloProperties.class) // 使得HelloProperties属性文件生效
public class AutoConfig {
// 导入属性文件
@Autowired
private HelloProperties helloProperties;
@Bean
public HelloService helloService() {
HelloService service = new HelloService();
service.setHelloProperties(helloProperties);
return service;
}
}
package com.dyl;
import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties(prefix = "example.hello") // 绑定配置文件中所有以example.hello开头的配置
public class HelloProperties {
private String prefix;
private String suffix;
public String getPrefix() {
return prefix;
}
public void setPrefix(String prefix) {
this.prefix = prefix;
}
public String getSuffix() {
return suffix;
}
public void setSuffix(String suffix) {
this.suffix = suffix;
}
}
package com.dyl;
public class HelloService {
HelloProperties helloProperties;
public HelloProperties getHelloProperties() {
return helloProperties;
}
public void setHelloProperties(HelloProperties helloProperties) {
this.helloProperties = helloProperties;
}
public String sayHello(String name) {
// 返回打招呼信息,招呼信息是可配置的
return helloProperties.getPrefix() + "-" + name + "-" + helloProperties.getSuffix();
}
}
spring.factories
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.dyl.AutoConfig使用start
org.example starter-service 1.0-SNAPSHOT
application.properties
example.hello.prefix = "EXAMPLE" example.hello.suffix = "HELLO"
@Resource
HelloService helloService;
System.out.println(helloService.sayHello("dyl"));
Result:
"EXAMPLE"-dyl-"HELLO"



