Spring框架学习之Annotation注解

spring要使用annotation得在beans.xml里添加
xmlns:context="http://www.springframework.org/schema/context"
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd



               
     
     

在myeclipse要怎么样才能提示context:
window-preferences-xmlcatalog-add-filesystem
在spring包里dist-resources找到spring-context-2.5.xsd加进去。
通常会自动生成key,但是得把spring-context-2.5.xsd加到key里面去,才会真正给你提示。有的不用。这样beans.xml就会自动提示context了。

@Autowired注解,一般写在set方法上,自动帮你找一个和这个参数类型对应的一个bean。假如你要在userService这个bean里注入u这个bean,不用在xml配置文件里写property属性直接在set方法那里写注解如:但是要在xml里写

@Autowired
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }


对了这个注解是按照类型来匹配的。如果有两个同类型的bean呢如:

@Autowired
    public void setUserDao(@Qualifier("u") UserDao userDao) {
        this.userDao = userDao;
    }



如果想要myeclipse自动提示注解可以这样做:
window-preferences-general-editor-context-assist
把最下面的@#里的@写到上面变成.@就行了。

接下来是比较重要的@Resource注解,因为这是je22定义的标准,所以我得导入je22的
包common-annotations.jar,然后在set方法上用@Resource
意思是我在这里引用一个资源,什么资源呢,这个资源的名字应该跟set方法名一样的bean资源或者其他资源。默认注入的方式是byType。如:

        
    
    
@Resource
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

因为是默认是byType所以这样会报错,得把userDao1或者userDao2去掉就行。但是

你可能感兴趣的:(Spring框架学习之Annotation注解)