java - 如何在 Spring boot 配置类中设置属性文件值

标签 java spring spring-boot

如何在Config类中使用application.properties文件

应用程序属性

datasource.username=test

配置类

 @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;        
 
        }
    
    
    }

如何将属性传递到用户名设置字段。

最佳答案

取决于您如何初始化应用程序,但通常您会放置类似

@EnableAutoConfiguration
@PropertySource("classpath:application.properties")
@ComponentScan
@SpringBootApplication
@EnableTransactionManagement

确保您的配置中有其中之一

@Bean
public static PropertySourcesPlaceholderConfigurer propertyPlaceholderConfigurer() {
    return new PropertySourcesPlaceholderConfigurer();
}

然后你可以访问这样的值

@Value("${datasource.username}")
@NotNull //optional
String username;

关于java - 如何在 Spring boot 配置类中设置属性文件值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36780275/

相关文章:

java - 将 Spring 托管 bean 的引用传递给非托管类?

java - @RequestParam 数组映射问题

java - Spring-boot 应用程序在执行器端口上抛出错误

java - 如何在 spring-boot 中强制 Jackson2ObjectMapperBuilder?

java - 将对象数组从 Java 返回到 C++

java - 实例变量为 null 时抛出的异常

java - while 循环出现问题

java - TouchWiz 启动器检测

java - 通过@RequestMapping url 调用另一个项目

java - Response.sendRedirect() URL 未在浏览器上打开