ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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
Designed by Tistory.