본문 바로가기

[B] Spring Note

3) root-context.xml 를 내 프로젝트에 맞게 변경하기


기본 생성되는 root-context.xml에는 특별한 설정이 없다. 


아래 내 프로젝트 환경에 맞게 추가적인 설정을 하도록 한다.


** [변경부분] : [ ] 를 포함하여 자신의 환경에 맞도록 설정함


** root-context.xml 설정시, 먼저 [Namespaces] 탭에서 설정하고자 하는 서비스를 선택해야함


   - 본 프로젝트에서는 aop, beans, context, mybatis-spring, tx 를 선택함 


0. 내 프로젝트 환경


   - Tomcat 8.0 / Open JDK 8.x / Maria DB 10.x


1. Root Context: defines shared resources visible to all other web components 밑에 어노테이션 환경 설정


<context:annotation-config></context:annotation-config>



2. MySQL 접속 설정 :  HikariConfig 이용

  <bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">

<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"/>

<property name="jdbcUrl" value="jdbc:log4jdbc:mysql://127.0.0.1:[포트번호]/[사용자ID]?serverTimezone=Asia/Seoul"/>

<property name="username" value="[사용자ID]"/>

<property name="password" value="[접속비밀번호]"/>

</bean>


<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">

<constructor-arg ref="hikariConfig" />

</bean>


3.  mybatis SqlSessionFactoryBean 설정


<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<property name="dataSource" ref="dataSource"></property>

<property name="configLocation" value="classpath:/mybatis-config.xml"></property>

<property name="mapperLocations"value="classpath:mappers/**/*Mapper.xml"></property>

</bean>

** mybatis-config.xml 의 위치와 *Mapper.xml 의 위치를 추가로 설정함!!


4. 트랜젝션 관련 설정


<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

<property name="dataSource" ref="dataSource"></property>

</bean>


<tx:annotation-driven/>


5. scan 설정 : mapper, servise, aop 등


<mybatis-spring:scan base-package="[mapper 패키지 위치 표시]" />

<context:component-scan base-package="[service 패키지 위치 표시]"></context:component-scan>

<context:component-scan base-package="[aop 패키지 위치 표시]"></context:component-scan>


<aop:aspectj-autoproxy></aop:aspectj-autoproxy>



[참고] mybatis-config.xml 소스


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 

 "http://mybatis.org/dtd/mybatis-3-config.dtd">


<configuration>

<typeAliases>

  <package name="[domain 패키지 위치 표시]"/>

</typeAliases>

</configuration>