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依赖就可以了 ,配置文件哪个项目 引入的就在哪个项目配置就可以了

  • 相关阅读:
    网络编程的基础
    day31作业
    异常处理其他内容
    异常处理的使用
    常见的异常种类
    ansible条件使用--实践
    Ansible的循环
    Ansible的条件语句
    ansibleplaybook的使用
    ansible官方文档翻译之变量
  • 原文地址:https://www.cnblogs.com/dkws/p/12221008.html
Copyright © 2011-2022 走看看