006 引入外部配置文件

Posted trekxu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了006 引入外部配置文件相关的知识,希望对你有一定的参考价值。

一 .概述

  在前面,我们的配置属性都放在了springboot为我们提供了默认配置文件之中.有的时候,我们可能需要将这些配置信息分散到不同的地方,尤其是那些我们自定的属性.

  springboot为我们提供了另外的两个注解,帮助我们实现外部配置文件的注入.


 

二 . @PropertySource注解

  该注解的核心作用就是加载指定的配置文件.

看下面的例子:

  我们创建了一个trek.properties的文件,其中的内容为:

  user.name=trek
  user.age=123.

我们编写配置类进行测试:  

@Configuration
@PropertySource(value = { "classpath:trek.properties" })
@Data
public class PropertyConfig {

    @Value("${user.name}")
    private String name;

    @Value("${user.age}")
    private Integer age;

    @Bean
    public Map<String, String> map(){
        Map<String, String> map = new HashMap<String, String>();
        map.put("name", name);
        map.put("age", String.valueOf(age));
        return map;
    }
}
    @Autowired
    private Map<String,String> map;
    
    @Test
    public void test2() {
        System.out.println(map);
    }

我们发现不使用默认的配置文件也能自动的引入其中的属性去.


 

[email protected] 

  该注解是帮助我们引入spring的配置文件.

请看下面的例子:

  我们创建了一个spring的配置文件,然后我们引入这个配置文件.

    <bean id="name" class="java.lang.String">
        <constructor-arg value="resource"></constructor-arg>
    </bean>
@ImportResource(value= {"classpath:spring.xml"})
@Configuration
public class ImportResourceConfig {

}
    @Autowired
    private String name;
    
    @Test
    public void test3() {
        System.out.println(name);
    }

其实,我们一般不会去使用这个配置文件的,我们一般使用@Bean来完成bean的注入.


以上是关于006 引入外部配置文件的主要内容,如果未能解决你的问题,请参考以下文章

mybatis学习笔记-03

Gradle 引入本地定制 jar 包

logback.xml引入外部配置文件

spring 配置文件 引入外部的property文件的两种方法

单体Spring boot引入外部配置文件yml,properties

十八 Spring的JDBC模板:引入外部属性文件