SpingMVC JPA2 annotation description
来源:互联网 发布:无法加入emule网络 编辑:程序博客网 时间:2024/06/05 11:24
在网上找到很多关于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系列,只能等到以后有时间了。
当爹了,更加忙了~~~
以上是项目的基本配置图,打了红框的没任何信息,因为已经使用了注解.
在这里顺便讲下注解的使用
注解标签:
- @Repository 一般用在Dao层
- @Service 一般用在Service层
- @Controller 一般用在逻辑控制层
@RequestMapping("/user") 映射的url地址 - @Resource 注入标签,不需要在写getter 和setter jdk1.6以上的版本都有这个标签
- @ExceptionHandler(Exception.class) 错误捕捉的标签
- @PostConstruct 构建式的标签,在初始化的时候非常有用 比如注入:super.setEntityManagerFactory(entityManagerFactory);
- @Autowired 也是注入标签,和@Resource的用法一样,这个标签是属于Spring自己的。
- SpingMVC JPA2 annotation description
- jpa2
- Spring3 Annotation + Hibernate3-jpa2.0 + CGLIB + 多数据源(动态数据源)
- Description
- description
- description
- description
- description
- description
- description
- jpa2 subquery
- spingMVC入门
- jfreechart spingmvc
- SpingMvc详解
- spingmvc --jackson
- SpingMVC随笔
- Dependency annotations: {@javax.annotation.Resource(shareable=true, mappedName=, description=, name=
- hiberante 3.5 支持jpa2?
- Volatile关键字详解
- C#自定义控件小结进阶篇
- 用Delphi写的一个完整OpenGL框架
- 错综复杂的关系
- XHTML CSS 常见问题和解决方案
- SpingMVC JPA2 annotation description
- Firefox 的 Jetpack 扩展案例分析:Gmail 邮件提醒
- 【整理】常用经典SQL语句大全
- 全球投资银行收入排名(2011)
- Android中Cursor关闭的问题
- 排序算法之插入排序
- js实现比较日期大小
- 生物信息学软件和数据库使用方法
- JAVA AWT Event Hierarchy