# qyt-spring-boot-starter **Repository Path**: qytcoding/qyt-spring-boot-starter ## Basic Information - **Project Name**: qyt-spring-boot-starter - **Description**: 自定义的springboot自动启动包 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-26 - **Last Updated**: 2021-12-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 自定义生成springboot启动器 创建工程: 父类功能:qyt-springbot-starter 子模块:qyt-spring-boot-autoconfigure、qyt-spring-boot-starter 1、pom的内容 qyt-springbot-starter ```bash org.springframework.boot spring-boot-starter-parent 2.1.17.RELEASE org.springframework.boot spring-boot-starter ``` qyt-spring-boot-autoconfigure ```bash qyt-springboot-starter com.qyt 1.0-SNAPSHOT 4.0.0 qyt-spring-boot-autoconfigure org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-configuration-processor true ``` qyt-spring-boot-starter ```bash qyt-springboot-starter com.qyt 1.0-SNAPSHOT 4.0.0 qyt-spring-boot-strarter 启动器(starter)是一个空的jar文件 仅仅提供辅助性作用 com.qyt qyt-spring-boot-autoconfigure 1.0-SNAPSHOT ``` 2、开始编写内容 **qyt-springbot-starter和qyt-spring-boot-starter工程没有内容就只用看pom的依赖就可以了** ```bash /** * 自动配置类 * 给web应用添加一个首页 */ @Configuration //加载配置文件,因为可能没有扫描所以要使用该方法手动引用 @EnableConfigurationProperties({HelloProperties.class}) //必须要有这个不然不生效 @ConditionalOnProperty(value = "qyt.hello.name") public class HelloAutoConfiguration { @Autowired private HelloProperties helloProperties; @Bean public HelloController helloController(){ return new HelloController(helloProperties); } } ``` ```bash @RestController public class HelloController { @Autowired HelloProperties helloProperties; public HelloController(){ } public HelloController(HelloProperties helloProperties){ this.helloProperties = helloProperties; } @GetMapping("/") public String getIndex(){ return " i am " + helloProperties.getName(); } } ``` ```bash @ConfigurationProperties("qyt.hello") public class HelloProperties { private String name ; public String getName() { return name; } public void setName(String name) { this.name = name; } } ``` 在resource目录下创建META-INF文件 创建spring-factories ```bash # Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.starter.qyt.HelloAutoConfiguration ```