티스토리 뷰
1. Maven에 Spring JDBC 의존성 추가 #Maven
1
2
3
4
5
|
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
|
cs |
2. DBConfig 클래스 작성
[DBConfig.java]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
@Configuration
@EnableTransactionManagement
public class DBConfig implements TransactionManagementConfigurer {
private String driverClassName = "com.mysql.jdbc.Driver";
private String url = "uuuuuuu";
private String username = "nnnnnnn";
private String password = "ppppppp";
@Bean
public DataSource dataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(driverClassName);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
return dataSource;
}
@Override
public PlatformTransactionManager annotationDrivenTransactionManager() {
return transactionManger();
}
@Bean
public PlatformTransactionManager transactionManger() {
return new DataSourceTransactionManager(dataSource());
}
}
|
cs |
line 2: @EnableTransactionManagement
- Spring java config 파일에서 트랜잭션과 관련된 설정 자동으로 해준다 #Transaction
- PlatformTransactionManager 구현체를 모두 찾아서 그 중 하나를 매핑해서 사용하는 것.
- 특정 트랜잭션 매니저를 사용하고자 한다면, TransactionManagementCongifurer을 구현하고 원하는 트랜잭션 매니저를 리턴한다.
line 4: 드라이버 로드 + connection에 사용되는 url, name, pwd #JDBC
line 10: DataSource 빈 등록 #DataSource
connection pool 생성
3. 접속 테스트
커넥션풀이 생성됐는지 = 접속이 됐는지 메인 실행 테스트
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
public class DataSourceTest {
public static void main(String[] args) {
ApplicationContext ac = new AnnotationConfigApplicationContext(ApplicationConfig.class);
DataSource ds = ac.getBean(DataSource.class);
Connection conn = null;
try {
conn = ds.getConnection();
if(conn != null)
System.out.println("접속 성공^^");
}catch (Exception e) {
e.printStackTrace();
}finally {
try {
if(conn != null) conn.close();
}catch (Exception e) {
e.printStackTrace();
}
}
}
}
|
cs |
line 4: ApplicationContext #ApplicationContext
line 5: ac의 getBean() 메소드를 이용해서 DataSource를 구현하고 있는 객체를 얻는다
Tip) 소스코드에 DB접속정보 하드코딩 X → 스프링의 application.proterties라는 속성파일을 사용하자 [Spring] 스프링 Properties 관리하기
위치: main/resources/application.properties
[application.properties]
1
2
3
4
|
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=uuuuuuu
spring.datasource.username=nnnnnnn
spring.datasource.password=ppppppp
|
cs |
[DBConfig.java]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
@PropertySource("classpath:application.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;
}
|
cs |
'JAVA > Spring' 카테고리의 다른 글
[Spring] Connection Pool / Spring JDBC (0) | 2019.10.10 |
---|---|
[Spring] Controller(Handler) (0) | 2019.10.09 |
[Spring] [Config] WebMvcContextConfiguration (0) | 2019.10.08 |
[Spring] Spring MVC / Layered Architecture (0) | 2019.10.06 |
[Spring] [Config] ApplicationConfig (0) | 2019.10.06 |