Ada berbagai cara untuk mencapai hal yang sama. Di bawah ini adalah beberapa cara yang umum digunakan di musim semi-
Menggunakan PropertyPlaceholderConfigurer
Menggunakan PropertySource
Menggunakan ResourceBundleMessageSource
Menggunakan PropertiesFactoryBean
dan masih banyak lagi........................
Dengan asumsi ds.type
adalah kunci dalam file properti Anda.
Menggunakan PropertyPlaceholderConfigurer
Daftar PropertyPlaceholderConfigurer
kacang
<context:property-placeholder location="classpath:path/filename.properties"/>
atau
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="classpath:path/filename.properties" ></property>
</bean>
atau
@Configuration
public class SampleConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer placeHolderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
//set locations as well.
}
}
Setelah mendaftar PropertySourcesPlaceholderConfigurer
, Anda dapat mengakses nilai-
@Value("${ds.type}")private String attr;
Menggunakan PropertySource
Dalam versi semi terbaru Anda tidak perlu mendaftar PropertyPlaceHolderConfigurer
dengan @PropertySource
, saya menemukan yang baik link yang memahami versi compatibility-
@PropertySource("classpath:path/filename.properties")
@Component
public class BeanTester {
@Autowired Environment environment;
public void execute() {
String attr = this.environment.getProperty("ds.type");
}
}
Menggunakan ResourceBundleMessageSource
Daftar kacang
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:path/filename.properties</value>
</list>
</property>
</bean>
Nilai Akses-
((ApplicationContext)context).getMessage("ds.type", null, null);
atau
@Component
public class BeanTester {
@Autowired MessageSource messageSource;
public void execute() {
String attr = this.messageSource.getMessage("ds.type", null, null);
}
}
Menggunakan PropertiesFactoryBean
Daftar kacang
<bean id="properties"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:path/filename.properties</value>
</list>
</property>
</bean>
Contoh Wire Properties ke dalam class- Anda
@Component
public class BeanTester {
@Autowired Properties properties;
public void execute() {
String attr = properties.getProperty("ds.type");
}
}