MyBatis用不用加@Repository?

MyBatis之@Repository注解
@Repository是Spring框架提供的一种注解,来自如下包
import org.springframework.stereotype.Repository;

一般在SSM开发中编写MyBatis的DAO接口时使用,如下所示

@Repository
public interface UserDao{

}

在DAO接口中注解了@Repository之后,在Service层才能利用Spring的容器注入

@Service
public class UserServiceImpl implements UserService {
   @Autowired
   private UserDao userDao;
}

在这里注意,如果DAO接口上不使用注解的话,是不能在Service中使用@Autowired进行注入的(经过试验之后,发现是可以不加@Repository注解的),或者使用配置文件的方式。

被发现的映射器将会使用 Spring 对自动侦测组件(参考 Spring 手册的 3.14.4)默认的命
名策略来命名。也就是说,如果没有发现注解,它就会使用映射器的非大写的非完全限定类名。但是如果发现了@Component 或 JSR-330
的@Named 注解,它会获取名称。注意你可以 配 置 到 org.springframework.stereotype.Component
, javax.inject.Named(如果你使用 JSE 6 的话)或你自己的注解(肯定是自我注解)中,这
样注解将会用作生成器和名称提供器。

所以在DAO持久层的Mapper接口上即使不加@Repository,@Component等注解,也能注入实例到Spring中,被Service层引用。

<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
 <property name="mapperInterface" value="org.mybatis.spring.sample.mapper.UserMapper" />
 <property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值