쉽지않은 블로그
spring-JDBC 라이브러리-2 본문
spring-jdbc를 이용하여 드라이버 연결하기
아래 라이브러리를 사용하고자 하는 스프링 버전에 맞게 pom.xml 에 의존성을 주입해준다 <dependency>
spring-conetxt | 스프링을 사용하기 위한 라이브러리 |
spring-jdbc | jdbc 라이브러리 |
spirng-tx | 스프링에서 제공하는 트렌젝션 관련 기능 |
mysql-connector-java | mysql에서 제공하는 드라이버 |
commons-dbcp2 | datasource를 사용하기 위하여 주입 |
1.DB에 연결에 대한 정보를 해주어야 됨
applicationContext (메인 함수 입장에서는)한테 설정을 알려줄 파일이 필요함
해당 역할을 하는 파일이 applicationconfig class가 된다.
config라는 패키지를 이용하여 채 설정을 담당하는 파일들을 모아서 관리해주는 게 편함
package kr.or.connect.daoexam.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration
@ComponentScan(basePackages = {"kr.or.connect.daoexam.dao"})
@Import({DBConfig.class})
public class ApplicationConfig {
}
@Configuration annotation 은 해당 파일이 Config 파일이라는 걸 알려준다( load를 할 경우 안내하는 역할)
@import를 사용하여 설정 파일을 여러 개로 분리한 Config파일을 하나로 합쳐준다.
하위에 DBconfig.class를 두어 정보를 분할함
package kr.or.connect.daoexam.config;
import javax.sql.DataSource;
import org.apache.commons.dbcp2.BasicDataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@EnableTransactionManagement
public class DBConfig {
private String driverClassName = "com.mysql.jdbc.Driver";
private String url = "jdbc:mysql://localhost:3306/connectdb?serverTimezone=Asia/Seoul&useSSL=false";
private String username = "user";
private String password = "pw1234";
@Bean
public DataSource dataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(driverClassName);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
return dataSource;
}
}
//@EnableTransactionManagement
// DB를 사용할경우 트랜잭션 관리를 위해 사용한 어노테이션
driverclassname , url , username , password 가 필요함
스프링 jdbc를 이용할 때는 DataSource를 이용해서 DB에 접속하는 내용을 얻어내야 한다
이렇게 하기 위해서는 Datasource를 생성할 수 있는 클래스가 필요하다
또한 해당 클래스로 생성된 인스턴스가 현재 내가 사용하려고 하는(localhost::3306에 위치한 DB라는 것과 이름과 비번) 정보들도 주입을 해줘야 된다.
datasource는 connection을 관리해야 될 거기 때문에 드라이버 정보 , url , name , pw 등을 알아야 한다.
(set으로 명시해줌)
@Bean 어노테이션을 이용하여 등록하는 과정들을 코드에 표시해 두었다.
'개발공부 > 스프링' 카테고리의 다른 글
[Spring] DI & IOC (3) 스프링 IoC 컨테이너 (0) | 2021.04.13 |
---|---|
[Spring] DI & IOC (2) 의존성 주입 (0) | 2021.04.13 |
[Spring] DI & IOC (1) 느슨한 결합력 (0) | 2021.04.13 |
spring-JDBC 라이브러리-3 (0) | 2021.03.25 |
spring-JDBC 라이브러리-1 (0) | 2021.03.21 |