Spring 的@@Autowired 和 @Qualifier注释】的更多相关文章

@Autowired spring2.1中允许用户通过@Autowired注解对Bean的属性变量.属性Setter方法以及构造方法进行标注,配合AutowiredAnnotationBeanProcessor完成Bean的自动配置.使用@Autowired注释进行byType注入. 为什么要引入@Autowired?因为通过 @Autowired的使用可以消除在xml中 set ,get方法的相关配置.也即是不用在xml进行相关的配置了. 1)当@Autowired使用在Bean的属性变量上时…
// package com.jhc.model; import org.springframework.stereotype.Component; @Component public interface ModelTest3 { void sayHello(); } // package com.jhc.model; import org.springframework.stereotype.Component; @Component public class ModelTest3_1 imp…
在使用Spring框架中@Autowired标签时默认情况下使用 @Autowired 注释进行自动注入时,Spring 容器中匹配的候选 Bean 数目必须有且仅有一个.当找不到一个匹配的 Bean 时,Spring 容器将抛出 BeanCreationException 异常,并指出必须至少拥有一个匹配的 Bean. Spring 允许我们通过 @Qualifier 注释指定注入 Bean 的名称,这样歧义就消除了,可以通过下面的方法解决异常. @Qualifier("XXX")…
@Service("OrganDaoIbatis") public class OrganDaoIbatis extends BaseDao implements IOrganDao { @Autowired(required=false) @Qualifier("sqlMapClient") private SqlMapClient sqlClient = null; 使用 @Autowired(required = false)作用: 当候选 Bean 数目不为…
以下内容摘自部分网友的,并加上了自己的理解 @Service用于标注业务层组件(我们通常定义的service层就用这个) @Controller用于标注控制层组件(如struts中的action.Spring MVC中的Controller) @Repository用于标注数据访问组件,即DAO组件 @Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注. 这几个注解是当你需要定义某个类为一个bean,则在这个类的类名前一行使用@Service("XXX"),…
@Repository.@Service.@Controller 这几个是一个类型,其实@Component 跟他们也是一个类型的 Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository.@Service和 @Controller 其实这三个跟@Component 功能是等效的 @Service用于标注业务层组件(我们通常定义的service层就用这个) @Controller用于标注控制层组件(如struts中的act…
前言 @Autowired.@Qualifier.@Resource.@Value四个注解都是用于注入数据的,他们的作用就和在xml配置文件中的bean标签中写一个标签的作用是一样的!本篇中特别要讲解的重心是@Autowired注解 1.先给出一个场景 讲@Autowired注解前先给出一个场景: dao层代码 @Repository public class AccountDao { public void save() { System.out.println("dao数据save成功了..…
1.Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository.@Service和 @Controller 其实这三个跟@Component 功能是等效的. 区别: ①@Service用于标注业务层组件(我们通常定义的service层就用这个) ②@Controller用于标注控制层组件(如struts中的action) ③@Repository用于标注数据访问组件,即DAO组件 ④@Component泛指组件,当组件不好归…
当创建多个具有相同类型的 bean 时,并且想要用一个属性只为它们其中的一个进行装配,在这种情况下,你可以使用 @Qualifier 注释和 @Autowired 注释通过指定哪一个真正的 bean 将会被装配来消除混乱.下面显示的是使用 @Qualifier 注释的一个示例. 1.这里是 Student.java 文件的内容: package com.spring.chapter7; public class Student { public String getName() { return…
可能会有这样一种情况,当你创建多个具有相同类型的 bean 时,并且想要用一个属性只为它们其中的一个进行装配. 在这种情况下,你可以使用 @Qualifier 注释和 @Autowired 注释通过指定哪一个真正的 bean 将会被装配来消除混乱. 下面显示的是使用 @Qualifier 注释的一个示例. 新建Spring项目 创建 Java 类 Student,Profile 和 MainApp 这里是 Student.java 文件的内容: package hello; //import o…