Рубрики
Без рубрики

Внешние свойства весной

Извлечение значений свойств из среды @Конфигурация общедоступный класс DbConfig{… С тегами spring, java, свойства.

@Configuration
public class DbConfig {
    Environment env;

    @Autowired
    public DbConfig(Environment env) {
        this.env = env;
    }

    @Bean
    public JdbcTemplate dataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName(env.getProperty("db.driver"));
        dataSource.setUrl(env.getProperty("db.url"));
        dataSource.setUsername(env.getProperty("db.user"));
        dataSource.setPassword(env.getProperty("db.password"));
        JdbcTemplate jdbcTemplate = new JdbcTemplate();
        jdbcTemplate.setDataSource(dataSource);
        return jdbcTemplate;
    }
}
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/cas
db.user=root
db.password=123

Аннотация @PropertySource добавляет свойства из других файлов в дополнение к переменным среды и системным свойствам. Вы можете использовать префиксы classpath, file или http.

@Configuration
@PropertySource("classpath:/com/org/config/app.properties")
public class DbConfig {

    @Bean
    public JdbcTemplate dataSource(
            @Value("${db.driver}") String driver, 
            @Value("${db.url}") String url,
            @Value("${db.user}") String user, 
            @Value("${db.password}") String password) {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName(driver);
        dataSource.setUrl(url);
        dataSource.setUsername(user);
        dataSource.setPassword(password);
        JdbcTemplate jdbcTemplate = new JdbcTemplate();
        jdbcTemplate.setDataSource(dataSource);
        return jdbcTemplate;
    }
}

Оригинал: “https://dev.to/eidher/external-properties-in-spring-4hb4”