Spring Boot 게시판 만들기 17 - 외부로부터 설정 받기(property)

17. 외부로부터 설정 받기(property)

Github에 프로젝트를 올릴때 데이터 베이스 접속 연결과 같은 민감한 정보는 다른 사람이 열람해서는 안되는 정보라 형상관리에서 제외한 상태로 올리게 된다.

.gitignore

**/application-mysql.yml
**/application-mysql.properties

데이터베이스 접속을 위한 properties 만들기

application-mysql.properties

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/{테이블}serverTimezone=UTC&characterEncoding=UTF-8
spring.datasource.username={Username}
spring.datasource.password={Password}

TransactionManagementConfigurer은 Spring에서 데티어베이스 연결을 지원한다.

DBConfig.java

@Configuration
@PropertySource(value = "classpath:/application-mysql.properties")
public class DBConfig implements TransactionManagementConfigurer {

@Value("${spring.datasource.driver-class-name}")
private String driverClassName;

@Value("${spring.datasource.url}")
private String url;

@Value("${spring.datasource.username}")
private String username;

@Value("${spring.datasource.password}")
private String password;

@Bean
public DataSource dataSource(){
return DataSourceBuilder.create()
.driverClassName(driverClassName)
.url(url)
.username(username)
.password(password)
.build();
}

@Override
public TransactionManager annotationDrivenTransactionManager() {
return new DataSourceTransactionManager(dataSource());
}
}
Share