-
SPRING_02_ root-context.xml 설정4.Spring/4.1 이론정리 2022. 6. 14. 12:05
root-context.xml : web.xml에 정의된 ContextLoaderListener가 로딩하는 자바빈(부모context)를 정의.
DispatcherServlet이 로딩하는 자바빈은 자식 컨텍스트임(여러개 존재 가능)
1. ORACLE에 접속하기 위한 설정파일
<context:property-placeholder location="classpath:jdbc.properties"/>
2. dataSource : 스프링 JDBC에서는 dataSource를 이용해서 DB에 접속
<bean id="dataSource" class ="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean>
DriverManagerDataSource라는 클래스를 사용함
dataSource 인자로 (사전에 jdbc.properties에 정의한) driverClassName, url, username,password 정보를 읽어옴
3. SqlSessionFactory : Mybatis를 연동하기 위한 SqlSessionFactoryBean을 정의
<bean id="SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:/mybatis/mybatis-config.xml" /> <property name="mapperLocations" value="classpath:/mybatis/mapper/**/*.xml"/> </bean>
- dataSource : 2번에서 정의한 dataSource를 참조함
- configLocation : Mybatis 설정 파일의 위치 mybatis-config.xml
- mapperLocations : mapping 관련 설정파일 위치
4. java mapper 파일을 위한 자동 스캐닝할 경로 지정
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="ojc.board.repository, ojc.user.repository"/> </bean>
java 파일은 ojc.board.repository, ojc.user.repository에 있다.
5. sqlSession : SqlSessionTemplate을 사용하기 위함
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache"> <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean>
3번에서 정의한 SqlSessionFactory를 참조함 .
생성자에서 sqlSessionFactory 변수로 받아서 SqlSessionFactory 를 참조해서 SqlSessionTemplate을 만들어서
Mybatis에서 쿼리 실행하기 위함.
6.transactionManager : 스프링 transaction을 위한 정의
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean>
7. tx: annotaton-driven : @transaction이라는 어노테이션이 붙어있는 메소드가 있다면
그걸 찾아서 스프링에 transaction을 적용시켜주는 역할
<tx:annotation-driven transaction-manager="transactionManager"/>
'4.Spring > 4.1 이론정리' 카테고리의 다른 글
SPRING_06_ SpringBoot 로그 분석 (0) 2022.09.20 SPRING_05_ mybatis-config.xml 설정 (0) 2022.06.14 SPRING_04_ 기타 xml 설정(1) (0) 2022.06.14 SPRING_03_servlet-context.xml 설정 (0) 2022.06.14 SPRING_01_ web.xml 설정 (0) 2022.06.14