@Component @Service @Controller @Repository
Spring-2.5.6版本这四个注解暂时没区别,一样。
问题描述:
怎样依靠注解配合实现无XML配置?
解决方案:
通过component注解配置及将类放入资源容器中
1.@Component注解
@Component
a) 初始化的对象名称默认为类名首字母小写
b) 可以指定初始化bean的名字
<1>beans.xml中添加component-scan扫描,指定对应base-package
<context:component-scan base-package="com"></context:component-scan>
<2>指定类的对象前加Component注解
@Component //key=userDaoImpl,value为生成的对象
public class UserDaoImpl implements UserDao{
@Component("userService")
public class UserService {
<3>set方法前加Resource注解
@Resource
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
<4>可以指定初始化bean的名称
@Component("u")
@Resource(name="u")
由实践可知,在有源码的情况下,注解实现配置比XML配置开发效率高且便捷。推荐注解配置,当然XML中也需要配置一部分东西。