`
zyslovely
  • 浏览: 231571 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

context:exclude-filter spring事务

 
阅读更多
icanfly 写道
如果带上事务,那么用annotation方式的事务注解和bean配置,事务会失效,要将service bean配置到xml文件中才行


这个问题是由于问答上有解决方案
引用

这个问题很经典了
在主容器中(applicationContext.xml),将Controller的注解排除掉
<context:component-scan base-package="com">
  <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>

而在springMVC配置文件中将Service注解给去掉
<context:component-scan base-package="com">
  <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
  <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />
  </context:component-scan>

因为spring的context是父子容器,所以会产生冲突,Controller会先进行扫描装配,而此时的Service还没有进行事务的增强处理,得到的将是原样的Service(没有经过事务加强处理,故而没有事务处理能力) ,最后才是applicationContext.xml中的扫描配置进行事务处理
分享到:
评论

相关推荐

    Spring扫描器—spring组件扫描使用详解

    这可以通过`include-filter`和`exclude-filter`元素实现,可以指定类型(@TypeFilter)、表达式(@AspectJ、Regexp)等过滤条件。 四、组件注解 Spring提供了多种注解用于标记组件: - `@Component`:基础注解,...

    Spring注解详解

    &lt;context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/&gt; &lt;context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/&gt; ...

    spring mvc

    - **排除特定类**:使用`&lt;context:exclude-filter&gt;`来排除不需要的类。 - **懒加载**:通过`lazy-init="true"`属性可以控制Bean的初始化时机。 - **条件化扫描**:结合`@Conditional`注解,根据运行时环境条件决定...

    集成springmvc spring hibernate的配置

    &lt;context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /&gt; &lt;/context:component-scan&gt; ``` 2. **数据库连接配置**:我们需要从`jdbc.properties`文件中读取数据库...

    Spring相关编码规范

    &lt;context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/&gt; &lt;/context:component-scan&gt; ``` - 这样可以避免在`action.xml`、`service.xml`文件中手动配置action和...

    Spring3注解介绍.docx

    此外,可以使用过滤器(`&lt;context:include-filter&gt;`和`&lt;context:exclude-filter&gt;`)来指定包含或排除的类,支持四种过滤方式:注解、类名、正则表达式和AspectJ表达式。 **注解详解**: 1. **@Controller**:用于...

    springmvc注解

    上述配置示例中,`&lt;context:exclude-filter&gt;`用于排除匹配正则表达式的类,而`&lt;context:include-filter&gt;`则用于仅包含特定注解的类。 #### Spring MVC核心注解详解 1. **@Controller** - **作用**:标记一个类...

    Java之Spring注解配置bean实例代码解析

    &lt;context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/&gt; &lt;!-- 只包含Repository接口及其实现类 ,其他不行--&gt; &lt;context:include-filter type="assignable" ...

    Spring+SpringMVC配置事务管理无效原因及解决办法详解

    &lt;context:exclude-filter type="annotation" expression="org.bc.redis.controller.UserController"/&gt; &lt;/context:component-scan&gt; ``` 或者 ``` &lt;context:component-scan base-package="org.bc.redis.service" use-...

    jeecg3.6.5/3.6.6(非maven)MyEclipse配置方法

    &lt;context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/&gt; &lt;/context:component-scan&gt; ``` - 复制这段配置,并粘贴在其下方,修改`base-package`的值为自己的表所在...

    Spring2.5 注解介绍(3.0通用)

    `base-package`属性指定了扫描的起点,而`&lt;context:include-filter&gt;`和`&lt;context:exclude-filter&gt;`则可以进一步定制扫描规则。例如,你可以通过注解、类名、正则表达式或AspectJ表达式来过滤扫描的类。 Spring支持...

    spring与mybatis整合配置文档

    &lt;context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/&gt; &lt;/context:component-scan&gt; ``` ##### 2.2 数据源配置 接下来,定义了一个名为`pooledDataSource`的数据源...

    Spring2.5_注解介绍(3.0通用)

    例如,`&lt;context:exclude-filter&gt;`和`&lt;context:include-filter&gt;`可以分别用于排除和包含特定的类。 3. **Spring MVC注解** - `@Controller`:标记在类上表示该类是一个Spring MVC控制器,用于处理HTTP请求。 - `@...

    Spring学习笔记

    &lt;context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/&gt; &lt;/context:component-scan&gt; ``` #### 五、总结 Spring框架以其强大的功能和灵活性成为了Java开发中最受...

    SpringMVC+MyBatis声明式事务管理

    &lt;context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /&gt; &lt;/context:component-scan&gt; ``` 而在`servlet-context.xml`中,我们扫描Controller但不扫描Service: ``...

    SpringMVCHibernate集成及常见问题总结

    在配置中,`&lt;context:component-scan&gt;`标签用于扫描并自动管理Bean,而`&lt;context:exclude-filter&gt;`则用于排除特定类型的Bean,例如@Controller注解的控制器。 2. **Spring 3.1.1**:Spring作为整体框架,除了...

    Springmvc tx标签事务管理

    `&lt;context:exclude-filter&gt;`排除了标注了`@Service`的类,这是为了避免在Spring MVC初始化时,Service层的类被提前扫描和装配,因为此时事务增强处理还没有进行,Service将不具备事务处理能力。 服务器启动时加载...

    spring注解文档

    `base-package`属性定义了要扫描的包,而`include-filter`和`exclude-filter`可以分别包含和排除特定的类。 4. **注解处理器注册** - `&lt;context:annotation-config&gt;`标签会自动注册包括`...

Global site tag (gtag.js) - Google Analytics