MyBatisContext.java
-
mapper 스캔처리
-
SqlSessionTemplate 설정
-
기타 설정 처리
package com.example.config;
@Configuration
@EnableTransactionManagement @MapperScan( annotationClass=Mapper.class, basePackages="com.lge.apip.mgmt", sqlSessionFactoryRef="sqlSessionFactoryBean") public class MyBatisContext { private static final Logger LOGGER = LoggerFactory.getLogger(MyBatisContext.class); /** * myBatis의 {@link org.apache.ibatis.session.SqlSessionFactory}을 생성하는 팩토리빈을 등록한다. */ @Bean public SqlSessionFactoryBean sqlSessionFactoryBean( DataSource dataSource, ApplicationContext applicationContext) throws IOException { SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean(); // 마이바티스가 사용한 DataSource를 등록 factoryBean.setDataSource(dataSource); // 마이바티스 설정파일 위치 설정 factoryBean.setConfigLocation(applicationContext.getResource("classpath:mybatis/configuration.xml")); // com.lge.apip.mgmt.ocpo.*.model 패키지 이하의 model 클래스 이름을 짧은 별칭으로 등록 factoryBean.setTypeAliasesPackage("com.lge.apip.mgmt.ocpo.policy.model"); // META-INF/mybatis/mappers 패키지 이하의 모든 XML을 매퍼로 등록 factoryBean.setMapperLocations(applicationContext.getResources("classpath:mybatis/mappers/**/*.xml")); return factoryBean; } /** * 마이바티스 {@link org.apache.ibatis.session.SqlSession} 빈을 등록한다. * * SqlSessionTemplate은 SqlSession을 구현하고 코드에서 SqlSession를 대체하는 역할을 한다. * 쓰레드에 안전하게 작성되었기 때문에 여러 DAO나 매퍼에서 공유 할 수 있다. */ @Bean public SqlSessionTemplate sqlSession(SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } } |
DB config설정
DatabaseConfig.java
package com.example.config;
/**
* TODO DB설정
설정 처리
*
* @author
mike Ryu
* @date 2015.
3. 09
* @version
1.0
*/
@Configuration
@PropertySource("classpath:jdbc.properties") @EnableTransactionManagement public class DatabaseConfig { @Autowired private Environment env; @Bean public DataSource dataSource() { BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName(env.getProperty("spring.datasource.driver-class-name")); dataSource.setUrl(env.getProperty("spring.datasource.url")); dataSource.setUsername(env.getProperty("spring.datasource.username")); dataSource.setPassword(env.getProperty("spring.datasource.password")); return dataSource; } @Bean public PlatformTransactionManager transactionManager() { return new DataSourceTransactionManager(dataSource()); } } |
AppContext.java
@Import 어노테이션을 이용하여 해당 Context추가
@Import({
CommonContext.class,
MessageContext.class,
//RestContext.class,
DatabaseConfig.class,
MyBatisContext.class,
ValidatorContext.class,
EhcacheContext.class
// QuartzConfig.class,
// RabbitMqConfig.class
})
댓글 없음:
댓글 쓰기