Có nhiều cách khác nhau để đạt được như nhau. Dưới đây là một số cách thường được sử dụng trong mùa xuân-
Sử dụng PropertyPlaceholderConfigker
Sử dụng PropertySource
Sử dụng ResourceBundleMessageSource
Sử dụng PropertiesFactoryBean
và nhiều thứ khác nữa........................
Giả sử ds.type
là chìa khóa trong tập tin tài sản của bạn.
Sử dụng PropertyPlaceholderConfigurer
Đăng ký PropertyPlaceholderConfigurer
đậu-
<context:property-placeholder location="classpath:path/filename.properties"/>
hoặc là
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="classpath:path/filename.properties" ></property>
</bean>
hoặc là
@Configuration
public class SampleConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer placeHolderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
//set locations as well.
}
}
Sau khi đăng ký PropertySourcesPlaceholderConfigurer
, bạn có thể truy cập giá trị-
@Value("${ds.type}")private String attr;
Sử dụng PropertySource
Trong phiên bản mới nhất mùa xuân bạn không cần phải đăng ký PropertyPlaceHolderConfigurer
với @PropertySource
, tôi tìm thấy một tốt liên kết để hiểu phiên bản compatibility-
@PropertySource("classpath:path/filename.properties")
@Component
public class BeanTester {
@Autowired Environment environment;
public void execute() {
String attr = this.environment.getProperty("ds.type");
}
}
Sử dụng ResourceBundleMessageSource
Đăng ký Bean-
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:path/filename.properties</value>
</list>
</property>
</bean>
Giá trị truy cập-
((ApplicationContext)context).getMessage("ds.type", null, null);
hoặc là
@Component
public class BeanTester {
@Autowired MessageSource messageSource;
public void execute() {
String attr = this.messageSource.getMessage("ds.type", null, null);
}
}
Sử dụng PropertiesFactoryBean
Đăng ký Bean-
<bean id="properties"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:path/filename.properties</value>
</list>
</property>
</bean>
Ví dụ thuộc tính dây vào lớp của bạn-
@Component
public class BeanTester {
@Autowired Properties properties;
public void execute() {
String attr = properties.getProperty("ds.type");
}
}