@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中也需要配置一部分東西。