美文网首页
SpringBoot引入自定义配置文件的方式

SpringBoot引入自定义配置文件的方式

作者: TTTTTriM | 来源:发表于2018-12-27 15:16 被阅读4次

    第一种 @PropertySource

    Annotation providing a convenient and declarative mechanism for adding a PropertySource to Spring's Environment. To be used in conjunction with @Configuration classes.

     @Configuration
     @PropertySource("classpath:/com/myco/app.properties")
     public class AppConfig {
         @Autowired
         Environment env;
    
         @Bean
         public TestBean testBean() {
             TestBean testBean = new TestBean();
             testBean.setName(env.getProperty("testbean.name"));
             return testBean;
         }
     }
    
    • 可以自定properties文档已经路径
    • 常用文件类型properties、yml
    • 配合@configuration使用
    • 倾向于配置参数

    第二种 @ImportResource

    Indicates one or more resources containing bean definitions to import.
    Like @Import, this annotation provides functionality similar to the <import/> element in Spring XML. It is typically used when designing @Configuration classes to be bootstrapped by an AnnotationConfigApplicationContext, but where some XML functionality such as namespaces is still necessary.

     @ImportResource("classpath:config.xml") 
     public class Config{
     }
    
    • 常用文件类型xml
    • 倾向于功能初始化。例如:早期springboot集成dubbo启动时(现在dubbo可以注解集成了)
    @SpringBootApplication
    @ImportResource("dubbo-services.xml")
    @EnableAutoConfiguration
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }
    

    第三种 @Value(本质其实也是第一种)

    Annotation at the field or method/constructor parameter level that indicates a default value expression for the affected argument. Typically used for expression-driven dependency injection. Also supported for dynamic resolution of handler method parameters, e.g. in Spring MVC. A common use case is to assign default field values using "#{systemProperties.myProp}" style expressions.

     @Value("{server.port}")
     String port;
    
    • 默认是系统application.properties/yml文件

    文件的定义方式-数组

    errorcodes[0]=1234
    errorcodes[1]=1234
    errorcodes[2]=1234
    errorcodes[3]=1234
    

    文件的定义方式-MAP

    errorcode_map[1000]=error1
    errorcode_map[3001]=error2
    errorcode_map[3002]=error3
    

    相关文章

      网友评论

          本文标题:SpringBoot引入自定义配置文件的方式

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