zoukankan      html  css  js  c++  java
  • springboot自定义starter

     <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.0.RELEASE</version>
        </parent>
    
        <!--
         自定义starter
         -->
        <dependencies>
            <!-- Compile dependencies -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-autoconfigure</artifactId>
            </dependency>
            <!--  能够让我们编写的配置文件在 其他人引用的时候有一定提示-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
            </dependency>

    定义读取配置文件的类

    @ConfigurationProperties(prefix = "mayikt")//单独用这个注解的会报错这个注解要配合@Configuration 或@EnableConfigurationProperties
    public class TokenProperties {
        private String tokenRedisHost;
        private String tokenRedisPwd;
    
        // mayikt.tokenRedisHost
        // mayikt.tokenRedisPwd
        /*
        tokenRedisHost=token-redis-host
        mayikt.token-redis-host
         定义配置文件的key的时候没有大写 都是为小写
         */
        public void setTokenRedisHost(String tokenRedisHost) {
            this.tokenRedisHost = tokenRedisHost;
        }
    
        public void setTokenRedisPwd(String tokenRedisPwd) {
            this.tokenRedisPwd = tokenRedisPwd;
        }
    
        public String getTokenRedisHost() {
            return tokenRedisHost;
        }
    
        public String getTokenRedisPwd() {
            return tokenRedisPwd;
        }
    }
    

      将定义的方法和配置文件导入spring

    @Configuration
    @EnableConfigurationProperties(TokenProperties.class)//这个可以把配置文件导入
    public class TokenAutoConfiguration {
    
        @Bean
        public TokenService tokenService() {
            return new TokenService();
        }
    }
    

      定义方法

    public class TokenService {
    
        @Autowired
        private TokenProperties tokenProperties;
    
        public String getToken() {
            System.out.println("模拟生成token");
            return tokenProperties.getTokenRedisHost() + "," + tokenProperties.getTokenRedisPwd();
        }
    }
    

      作为第三方依赖引入的时候可以让别的项目读取到这个配置类

    在resourcesMETA-INF目录下面创建spring.factories 文件
    文件的内容为
    org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.mayikt.config.TokenAutoConfiguration//这个就是刚才那个配置文件类,这样别的项目就可以读取到这个配置文件然后注入到spring里面了
    

      然后将此项目打成jar包在别的项目引入maven依赖就可以了 ,配置文件哪个项目 引入的就在哪个项目配置就可以了

  • 相关阅读:
    ADB高级应用
    struts2 结合extjs实现的一个登录实例
    css3中关于伪类的使用
    漫谈并发编程(三):共享受限资源
    awk依照多个分隔符进行切割
    3星|《财经天下周刊》2017年21期:海外购几乎是亚马逊中国的最后一根救命稻草
    3星|《迷失的盛宴:中国保险产业1978-2014》:序言比正文精彩
    3星|《超级运营术》:互联网社区运营老手经验谈
    3星|《百年流水线》:流水线与工业、社会、艺术的交互史
    5星|戴蒙德《为什么有的国家富裕,有的国家贫穷》:为什么有的国家能发展出好制度
  • 原文地址:https://www.cnblogs.com/dkws/p/12221008.html
Copyright © 2011-2022 走看看