加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SSI开发:applicationContext-common.xml标准配置模板

发布时间:2020-12-16 05:27:58 所属栏目:百科 来源:网络整理
导读:!-- 自动搜索@Component,@Service,@Repository等标注的类,不搜索@Controller的类,@Controller的类在mvc.xml中搜索-- !-- 自动扫描组件,这里要把web下面的 controller去除,他们是在spring3-servlet.xml中配置的,如果不去除会影响事务管理的。 -- context:c

<!-- 自动搜索@Component,@Service,@Repository等标注的类,不搜索@Controller的类,@Controller的类在mvc.xml中搜索-->
<!-- 自动扫描组件,这里要把web下面的 controller去除,他们是在spring3-servlet.xml中配置的,如果不去除会影响事务管理的。 -->
<context:component-scan base-package="custom define package" annotation-config="true">
<context:exclude-filter type="annotation"
expression="org.springframework.stereotype.Controller" />
</context:component-scan>

<!-- enable autowire -->
<context:annotation-config />

<aop:aspectj-autoproxy proxy-target-class="true"/>

<!-- 启用缓存注解功能 -->
<cache:annotation-driven cache-manager="cacheManager"/>

<!-- define the SqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="c3p0" />
<!-- ORM映射文件 -->
<!-- 自定义mybatis-config.xml -->
<property name="configLocation" value="classpath:/ibatis/mybatis-config.xml" />
</bean>

<!-- sqlMapper与Mapper.xml映射 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- ORM映射文件具体位置:eg:com/prjname/dao.ibatis/sqlMapper -->
<property name="basePackage" value="com/prjname/dao.ibatis/sqlMapper" />
</bean>

<!-- ================================配置事务相关控制================================================= -->
<!-- 数据库连接池 -->
<!-- eg:/WEB-INF/springspring-pool.xml -->
<import resource="classpath:/spring/spring-pool.xml" />
<!-- 事务管理器 -->
<bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="c3p0"></property>
</bean>

<!-- 配置事务特性 -->
<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="delete*" propagation="REQUIRED" read-only="false"
rollback-for="java.lang.Exception" />
<tx:method name="insert*" propagation="REQUIRED" read-only="false"
rollback-for="java.lang.Exception" />
<tx:method name="update*" propagation="REQUIRED" read-only="false"
rollback-for="java.lang.Exception" />
<tx:method name="modify*" propagation="REQUIRED" read-only="false"
rollback-for="java.lang.Exception" />
<tx:method name="*" propagation="SUPPORTS" read-only="true" />
</tx:attributes>
</tx:advice>

<!-- 配置AOP切面 哪些类的方法需要进行事务管理 -->
<aop:config>
<!--把事务控制在Service层 -->
<!-- eg:exceution( public * com.prjname.service.. * ) -->
<aop:pointcut id="allManagerMethod" expression="execution(public * com.prjname.service..*.*(..))" />
<aop:advisor pointcut-ref="allManagerMethod" advice-ref="transactionAdvice" />
</aop:config>

<!-- service层的属性和配置文件读入,多个用逗号隔开 -->
<!-- controller层的属性和配置文件读入,多个用逗号隔开 -->
<context:property-placeholder
location="classpath:/ibatis/jdbc.properties" />

<!-- cacheManager工厂类 --> <bean id="cacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" p:configLocation="classpath:/cache/ehcache.xml" /> <!-- 声明cacheManager --> <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager" p:cacheManager-ref="cacheManagerFactory"/>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读