root-context.xml
@PropertySource()을 생략하여 driver.properties 연결
db.driver=oracle.jdbc.driver.OracleDriver
db.url=jdbc:oracle:thin:@localhost:1521:xe
db.username=WEB
db.password=WEB
<context:property-placeholder location="classpath:driver.properties" />
<import> 요소를 사용하여 다른 XML 설정 연결
<import resource="mybatis-context.xml"/>
<import resource="security-context.xml"/>
- import 요소를 사용해 xml 연결할 수 있어 여러 개 설정이 가능하다.
mybatis-context.xml
mybatis-config.xml에 있는 속성들을 bean으로 등록하는 방법을 사용하기
BasicDataSource
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
destroy-method="close"
p:driverClassName="${db.driver}"
p:url="${db.url}"
p:username="${db.username}"
p:password="${db.password}"
/>
Configuration
<bean id="mybatisConfig" class="org.apache.ibatis.session.Configuration"
p:jdbcTypeForNull="NULL"
/>
- 빈의 속성을 직접 적용
- p:mapperLocations="classpath:mappers/**/*.xml" ▶ ** : 몇 단계 아래여도 상관없다.
SqlSessionFactoryBean
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
p:dataSource-ref="dataSource"
p:configuration-ref="mybatisConfig"
p:typeAliasesPackage="com.kh.mvc.*.model.vo"
p:mapperLocations="classpath:mappers/**/*.xml"
/>
SqlSessionTemplate
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"
c:sqlSessionFactory-ref="sqlSessionFactory"
/>
MapperScannerConfigurer
<bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer"
p:basePackage="com.kh.mvc.*.model.mapper"
/>
DataSourceTransactionManager
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
p:dataSource-ref="dataSource"
/>
트랜잭션 처리 방법
① 트랜잭션 매니저를 빈으로 등록하기 (mybatis-context.xml)
② @Transactional을 사용해서 트랜잭션 처리가 될 수 있도록 <tx:annotation-driven /> 요소를 설정 파일(servlet-context.xml)에 등록한다.
security-context.xml
암호화 위한 BCryptPasswordEncoder 빈 등록
<bean id="bcryptPasswordEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>
'Spring > Spring MVC2' 카테고리의 다른 글
Board - 게시물 등록 및 수정 / 첨부 파일 인코딩 및 등록 (0) | 2022.10.24 |
---|---|
Board - 전체 게시글 / 상세 페이지 / 게시글 삭제 (1) | 2022.10.23 |
기본 설정 ③ servlet-context.xml (0) | 2022.09.02 |
기본 설정 ① web.xml (0) | 2022.09.02 |