最近研究ssm框架整合,发现有的项目在DAO层的借口上有@Repository注解,而有的没有,研究好久也没发现区别,请问一下各位大神,这个在什么情况下必须加@Repository,什么情况下不用加@Repository?如果是跟配置有关系,请说明是那个配置,谢谢啦
解决方案 »
- jquery,自动加载问题,谢谢了!
- 用struts自带的迭代标签提示Cannot find bean: "forumForm" in any scope
- 请教jsp+servlet邮件收发系统原理
- tomcat不能启动
- jsp页面实现假分页,求助高人指点,我是新手,在线等
- 可以告诉我Collection ,ArraryList还有Vector有什么区别和共同点吗?
- 跪球高手解答在j2ee网页中 混入.net制作的网页会造成灾难性的后果吗
- 请教两个问题
- 请问JSP中checkbox用做删除记录问题?
- Tomcat中的http认证如何实现控制(类似Apache那种网站登录认证)
- hiberbate中出现了如下问题
- spring boot 项目在eclipse中启动后能正常访问 idea启动正常但返回404
"如果spring配置文件中配置了自动扫描mapper接口的话 就不需要@注解了,如果用的是sqlsessiondaosupport自定义dao的话就需要注解注入" 这个是我想要的答案,
也谢谢其他大神的关注以及解答。
如果使用内置模板方法update insert 保存不上。
<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
<property name="basePackage" value="com.xxx.dao"/>
<!--<property name="annotationClass" value="org.springframework.stereotype.Repository" />-->
</bean>
如果 mapperScannerConfigurer 里面配置了annotationClass 这个属性,就需要加对应属性的注解,没有的话可以不加
然而大多数公司开发根本就没有TDD、DDD概念
我看stackoverflow上一个答案,hibernatetemplate的一个优点是exception transalation,而有了@repository就不需要hibernatetemplate。
同意,如果在spring-mybatis的配置文件中对每个mapper接口都进行的 扫描注入,或者统一注入的话,可以不用 @repository注解 ;
如果你不想在配置文件中定义 dao的bean 那么可以直接在 mapper接口上使用@repository 来实现自动注入。 【记得在配置文件开启 自动扫描 即:
< context: component-scan base-package="自己的mapper所在包的全路径">】