Es gibt verschiedene Möglichkeiten, dasselbe zu erreichen. Im Folgenden finden Sie einige häufig verwendete Methoden für den Frühling.
Verwenden von PropertyPlaceholderConfigurer
Verwenden von PropertySource
Verwenden von ResourceBundleMessageSource
Verwenden von PropertiesFactoryBean
und viele mehr........................
Angenommen, es ds.type
ist der Schlüssel in Ihrer Eigenschaftendatei.
Verwenden von PropertyPlaceholderConfigurer
Registrieren Sie PropertyPlaceholderConfigurer
Bean-
<context:property-placeholder location="classpath:path/filename.properties"/>
oder
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="classpath:path/filename.properties" ></property>
</bean>
oder
@Configuration
public class SampleConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer placeHolderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
//set locations as well.
}
}
Nach der Registrierung PropertySourcesPlaceholderConfigurer
können Sie auf den Wert zugreifen.
@Value("${ds.type}")private String attr;
Verwenden von PropertySource
In der neuesten Version Frühjahr müssen Sie sich nicht registrieren PropertyPlaceHolderConfigurer
mit @PropertySource
, fand ich eine gute Link - Version Kompatibilität : zu verstehen ,
@PropertySource("classpath:path/filename.properties")
@Component
public class BeanTester {
@Autowired Environment environment;
public void execute() {
String attr = this.environment.getProperty("ds.type");
}
}
Verwenden von ResourceBundleMessageSource
Register Bean-
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:path/filename.properties</value>
</list>
</property>
</bean>
Zugriffswert-
((ApplicationContext)context).getMessage("ds.type", null, null);
oder
@Component
public class BeanTester {
@Autowired MessageSource messageSource;
public void execute() {
String attr = this.messageSource.getMessage("ds.type", null, null);
}
}
Verwenden von PropertiesFactoryBean
Register Bean-
<bean id="properties"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:path/filename.properties</value>
</list>
</property>
</bean>
Instanz von Wire Properties in Ihre Klasse
@Component
public class BeanTester {
@Autowired Properties properties;
public void execute() {
String attr = properties.getProperty("ds.type");
}
}