背景
在SpringBoot实际开发中,通常会把一些业务相关的配置文件单独写在一个properties文件中。在项目测试过程中,项目被打成jar包,部署到Linux系统。由于配置文件放到resources文件中,会被打包进jar包,如果修改配置文件,每次都需要重新打包。为了方便不用你每次改配置文件都重新打包一次,我们通常会将配置文件放到工程外部的文件夹中。那么如何加载外部配置文件?
解决方案:
步骤一:
在resources文件夹下新建一个spring的配置文件
配置文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd">
<!--配置文件导入-->
<bean id="propertyPlaceholderConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="fileEncoding" value="utf-8"/>
<property name="locations">
<list>
<value>file:config/source.properties</value>
</list>
</property>
<property name="ignoreUnresolvablePlaceholders" value="true"/>
</bean>
</beans>
步骤二:导入spring配置文件
@SpringBootApplication
// 导入spring配置文件
@ImportResource({"classpath:spring/applicationContext.xml"})
public class SpringbootMvc01Application {
public static void main(String[] args) {
SpringApplication.run(SpringbootMvc01Application.class, args);
}
}
测试:
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringbootMvc01ApplicationTests {
@Value("${name}")
private String name;
@Test
public void test() {
System.out.println(name);
}
}