반응형
스프링 부트(SpringBoot) DB연결(java설정)
환경
자바8
인텔리제이
스프링부트
마리아 디비
그레이들(gradle)
타임리프(thymeleaf)
DataSourceConfig.java
application.properties
기본프로젝트 설정
보통 스프링 부트에서 데이터 소스 설정은 application.properties에서 설정하지만 이번 설정은 xml파일을 이용한 설정을 진해한다. 기존 설정과 다른부분은 application.properties를 사용하지 않고 applicationContext.xml을 사용한다. 기본 프로젝트 (설정 방법URL)
DataSourceConfig.java설명
application.properties에서의 값을 불러와 사용하는 방법과 java코드에 작성하는 방법 모두 사능하다
기본구성
package com.example.demo.common.config;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import javax.sql.DataSource;
@Configuration
public class DataSourceConfig {
//데이터베이스 연결 정보
@Value("${spring.datasource.url}")
private String url;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
@Value("${spring.datasource.driver-class-name}")
private String driverClassName;
// 데이터 소스 설정
@Bean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(driverClassName);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
return dataSource;
}
// MyBatis SqlSessionFactory 설정
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/**/*.xml"));
return sessionFactory.getObject();
}
// 트랜잭션 매니저 설정
@Bean
public DataSourceTransactionManager transactionManager(DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
}
SpringTestApplication설정
기본 프로젝트 설정과 다른점은 application.properties에 값을 사용하지만 참조만 할 뿐 설정 SpringTestApplication에서 한다.
@SpringBootApplication
@Import(DataSourceConfig.class)
public class SpringtestApplication {
public static void main(String[] args) {
SpringApplication.run(SpringtestApplication.class, args);
}
}
반응형