美文网首页
springboot源码解析(3),自定义starter

springboot源码解析(3),自定义starter

作者: hcq0514 | 来源:发表于2021-08-27 18:18 被阅读0次
    1. 首先创建一个空项目
    pom中添加依赖
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-autoconfigure</artifactId>
                <version>2.3.0.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <version>2.3.0.RELEASE</version>
                <optional>true</optional>
            </dependency>
    
    //----------------------------------✂-----------------------------------------
    上面两个是必须要用的,web主要是我们自己调试用的
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>2.3.0.RELEASE</version>
            </dependency>
    
    1. 创建配置类AutoConfig,这个主要用于后面配置扫描入口
    //注册到ioc容器
    @Configuration
    //配置扫描包
    @ComponentScan("com.hcq.test")
    //开启自动配置
    @EnableConfigurationProperties
    public class AutoConfig {
    }
    
    再创建一个配置类
    @ConfigurationProperties(prefix = "hcq.test")
    @Component
    public class InfoConfig {
        private String name = "hcq";
        private Integer age = 25;
    
        public Integer getAge() {
            return age;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
    }
    
    创建用于提供服务的类
    @Service
    public class HcqService {
    
        @Autowired
        private InfoConfig infoConfig;
    
        public String getHelloWorld() {
            return "hello world";
        }
    
        public String getAge() {
            return infoConfig.getName();
        }
    }
    
    
    1. 在resource里面添加目录META-INF.spring.factories
    增加配置org.springframework.boot.autoconfigure.EnableAutoConfiguration
    后面配上面是扫描入口类
    org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.hcq.test.AutoConfig
    
    注意
    一般启动类都是org.springframework.boot.autoconfigure.也可以是org.springframework.boot.env.EnvironmentPostProcessor后置处理器等
    他会根据你配置的类型来获取文件,如果类型不对则会报错
    比如配的是org.springframework.boot.env.EnvironmentPostProcessor 后面写的是com.hcq.test.AutoConfig
    类型不同 则会报错
    
    
    

    目录结构为


    相关文章

      网友评论

          本文标题:springboot源码解析(3),自定义starter

          本文链接:https://www.haomeiwen.com/subject/ghnmiltx.html