0%

使用注解进行资源文件读取

使用 @ImportResource 和 @Value 进行资源文件读取

1
2
3
db.url = 127.0.0.1
db.username = root
db.password = pwword

注意:读取properties文件中的数据时,若所在系统环境中有重名的环境变量与propertieskey值相同,那么其值会被系统变量中的值所覆盖,这样会导致错误,所以我们一般将 本为urlkey改写为db.url,即加上特殊前缀,以防止重命冲突情况的发生。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Configuration
@ImportResource("classpath:/com/acme/properties-config.xml")
public class AppConfig {
@Value("${jdbc.url}")
private String url;

@Value("${jdbc,username}")
private String username;

@Value("${jdbc.passvord}")
private String password;

@Bean
public DataSource dataSource(){
return new DriverManagerDataSource(url,username,pasaword);
}

类似于

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.***"/>
<context:property-placeholder location="classpath:/com/acme/jdbc.properties"/>
<bean class="com.acme.AppConfig"/>
<bean class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="url" value="${jdbc,ur1)"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password)"/>
</bean>
</beans>