Java 如何在Spring引导配置类中创建属性文件值
如何在配置类中使用application.properties文件 应用程序属性 datasource.username=test Config.classJava 如何在Spring引导配置类中创建属性文件值,java,spring,spring-boot,Java,Spring,Spring Boot,如何在配置类中使用application.properties文件 应用程序属性 datasource.username=test Config.class @Configuration @EnableTransactionManagement @EnableJpaRepositories( entityManagerFactoryRef = "abcFactory", transactionManagerRef = "abcmanager&
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
entityManagerFactoryRef = "abcFactory",
transactionManagerRef = "abcmanager",
basePackages = { "com.emp.repository" })
public class EmpConfig {
@Value("${datasource.username}")
String username;
@Bean(name = "empDataSource")
public DataSource empDataSource(String url, String userName, String pwd) {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("XXX");
dataSource.setUrl(url);
dataSource.setUsername(userName);
dataSource.setPassword(pwd);
return dataSource;
}
}
如何将属性传递到username set字段。取决于您初始化应用程序的方式,但通常您会将
@EnableAutoConfiguration
@PropertySource("classpath:application.properties")
@ComponentScan
@SpringBootApplication
@EnableTransactionManagement
确保您的配置中有一个
@Bean
public static PropertySourcesPlaceholderConfigurer propertyPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
然后您可以访问这样的值
@Value("${datasource.username}")
@NotNull //optional
String username;
您不需要
@EnableAutoConfiguration
、@ComponentScan
和@PropertySource(“classpath:application.properties”)
,因为@SpringBootApplication
已经合并了前两个组件<默认情况下,代码>应用程序.properties会扫描属性,因此您无需将其添加为属性源。如果pom中有spring boot starter,则也不需要属性资源占位符配置器@值(“${datasource.username}”)@NotNull//可选字符串username;这里:您可以找到一个具有内部和外部属性的工作Spring引导项目的示例@RahulSharma的所有评论都是正确的。@Mukti您需要添加代码,让我们看看有什么问题happening@RahulSharma,我已经更新了上面的代码,仍然使用@Value(${datasource.username})