@Resource(重要)
a) 加入:j2ee/common-annotations.jar
b) 默认按名称,名称找不到,按类型
c) 可以指定特定名称
d) 推荐使用
e) 不足:如果没有源码,就无法运用annotation,只能使用xml
public class SimpleMovieLister { private MovieFinder movieFinder;@Resource(name="myMovieFinder") public void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder; } }
-----------------------------------------------------
public class SimpleMovieLister { private MovieFinder movieFinder; @Resource public void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder; } }
如果指定name则按名称查找,不指定Name则按Type找
使用@Resource比用@Autowired更直观
-------------------------------------------------------------
在Spring 2.5.6版本中,下列4个注解无区别
@Component @Service @Controller @Repository
把一个类当成一个组件,生成到容器中,并指定Key
a) 初始化的名字默认为类名首字母小写
b) 可以指定初始化bean的名字
<beans ...> <context:component-scan base-package="org.example"/> </beans>
在需要成为组件的类前,加上@Component注解
@Component("userService") //名称
public class UserService {
//.....
}
使用时:
@Resource(name="userService")
public void setUserDAO( UserDAO userDAO) {
this.userDAO = userDAO;
}