SpingMVC JPA2 annotation description

在网上找到很多关于SpringMVC的全注解的项目,但是或多或少有点毛病。其中最关键的毛病存在于事务处理这一块,不论是使用AOP的方式还是用Transactional的方式,事务都无法生效,而且程序也不报错。

 

这个问题存在于注解扫描,MVC应用会有一个对应的MVC.xml的配置文件,我这里暂时称为:dispatcher.xml

系统在初始化时,最后会通过org.springframework.web.servlet.DispatcherServlet 这个servlet来启动,在dispatcher.xml中,一般都会有描述信息,需要把Controller都扫描出来。

正是因为这个扫描,@Service的所有的注解都会失效。所以导致事务失效了。

 

解决这个问题很简单,扫描的时候增加一个filter就可以了。

<!-- 注解探测器 -->
    <context:component-scan base-package="cn.system">
    <!-- 
        MVC模式中不在扫描Service的注解信息,以防事务不启作用
    -->
       
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
       
    </context:component-scan>

 

 

这个毛病找了好几天,本来还打算用手动事务来驱动算了,不过我猜想就是标签注解的问题,在自己的耐心下终于解决了。

 

接下来就可以搞Spring Security了,之前还有很多篇文章都没有更新,例如:spring MVC系列,只能等到以后有时间了。

 

当爹了,更加忙了~~~

以上是项目的基本配置图,打了红框的没任何信息,因为已经使用了注解.

在这里顺便讲下注解的使用

注解标签:

  1. @Repository     一般用在Dao层
  2. @Service           一般用在Service层
  3. @Controller      一般用在逻辑控制层
    @RequestMapping("/user")   映射的url地址
  4. @Resource      注入标签,不需要在写getter 和setter  jdk1.6以上的版本都有这个标签
  5. @ExceptionHandler(Exception.class)   错误捕捉的标签
  6. @PostConstruct     构建式的标签,在初始化的时候非常有用  比如注入:super.setEntityManagerFactory(entityManagerFactory);
  7. @Autowired     也是注入标签,和@Resource的用法一样,这个标签是属于Spring自己的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值