`
lvjun106
  • 浏览: 438030 次
  • 性别: Icon_minigender_1
  • 来自: 芜湖
社区版块
存档分类
最新评论

spring 注解注入构造函数

 
阅读更多
package cn.outofmemory.hellspring.transaction;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

import com.ibatis.sqlmap.client.SqlMapClient;

@Repository
public class CustomerDao extends SqlMapClientDaoSupport {

    @Autowired(required = true)
    public CustomerDao(@Qualifier(value="sqlMapClient4A") SqlMapClient sqlMapClient) {
        super.setSqlMapClient(sqlMapClient);
    }

}

 

注意Qualifier的位置必须放在参数的前面,而不能放在构造函数的前面。 这是合理的如果一个构造函数有多个参数的话把Qualifier放在构造函数前面就会有歧义。

分享到:
评论

相关推荐

    (转)Spring 3.0 注解注入详解

    在Spring 3.0中,注解注入还支持了构造器注入,通过在构造函数参数上使用`@Autowired`,Spring会在实例化bean时调用相应的构造函数并注入对应的依赖。 为了更深入地学习Spring 3.0的注解注入,你可以阅读提供的文档...

    spring注解注入示例详解.pdf

    Autowired注解可以用在成员变量、setter方法以及构造函数上。当Spring容器启动时,它会自动查找并注入匹配的Bean。 @Autowired的默认注入方式是按类型(byType)。如果Spring上下文中存在多个相同类型的Bean时,...

    使用Springboot注入带参数的构造函数实例

    使用 SpringBoot 注入带参数的构造函数实例可以通过 @Bean 注解或 @Autowired 注解来实现。使用 @Bean 注解可以在配置类中定义构造函数实例,而使用 @Autowired 注解可以在 Service 类中定义构造函数实例。在 ...

    Spring依赖注入——java项目中使用spring注解方式进行注入.rar

    - 使用`@Autowired`时,尽量避免在构造函数中,因为这可能会导致初始化顺序问题,推荐在setter方法或无参构造函数后使用。 五、总结 Spring框架的注解式依赖注入大大简化了Java项目的开发,使得组件间的依赖关系...

    spring注解注入示例详解[文].pdf

    在Spring框架中,注解注入是一种非常常见的依赖注入方式,它可以极大地简化代码并提高可维护性。本篇文章主要探讨了Spring中的几个关键注解:`@Autowired`、`@Qualifier`、`@Resource`以及`@PostConstruct`,并解释...

    Spring demo 自动检测注解

    3. **构造函数注入**:除了字段和方法,`@Autowired`也可以用于构造函数,这样Spring会在创建bean实例时自动调用合适的构造函数,传入依赖的bean。 4. **可选注入**:通过设置`@Autowired`的`required`属性为`false...

    通过@Autowired注解注入bean的顺序,以及@bean注入.rar

    2. **按名称匹配**:如果存在多个相同类型的bean,Spring会检查目标字段或构造函数是否有`@Qualifier`注解,如果有,它会根据指定的bean名称进行匹配。 3. **@Primary**:如果仍然有多个匹配的bean,Spring会选择带...

    spring注解方式解析

    在Spring中,我们可以使用注解如`@Inject`、`@Resource`、`@Autowired`以及构造函数、setter方法、field级别的注解来实现依赖注入。例如: ```java @Component public class UserRepository { private ...

    spring setter 和构造 注入 例子 spring 4.2.0

    构造器注入则在创建对象时就确保依赖完整,有利于保持对象的封装性,但过多的构造参数可能会导致构造函数过于复杂。 在Spring 4.2.0版本中,这两种注入方式都得到了很好的支持,并且Spring提供了更高级的特性,比如...

    spring依赖注入底层详解

    1. 构造器注入:通过在类的构造函数中传递依赖对象来完成注入。这种方式在创建对象时就确保了所有依赖都已就绪,适合于对象的依赖关系不可变的情况。 2. 设值注入:通过setter方法将依赖对象注入到已经创建的对象中...

    spring依赖注入的实现原理

    2. **构造器注入**:Spring可以通过调用带有多个参数的构造函数来注入依赖。在bean配置文件中,使用`<constructor-arg>`标签指定构造函数参数。 3. **接口注入**:Spring提供了一个`ApplicationContextAware`接口,...

    Spring注解驱动开发.pdf

    - **`@Autowired`注解**:用于自动装配bean,可以在字段或构造函数中使用。 - **`@Qualifier`注解**:与`@Autowired`配合使用,指定要装配的具体bean名称。 ##### 6. 其他注解 - **`@Component`**:泛指任何非UI层...

    spring的注入方式

    构造注入是在对象实例化时通过构造函数来传递依赖。这种方式强制在创建对象时就提供所有必要的依赖,因此有助于确保对象的完整性和正确性。在Spring中,你可以定义带有不同构造函数的bean,并通过`constructor-arg`...

    spring的setter注入和构造注入(XML讲解以及常见错误)

    构造注入则是通过类的构造函数来注入依赖。这种方式在对象创建时就完成了依赖的设置,适用于依赖对象必须在实例化时就完全确定的情况。例如: ```java public class User { private String name; public User...

    Spring的注入方式详解

    在 Spring 中,可以通过 `<constructor-arg>` 标签指定构造函数参数。例如,如果 `User` 类有一个接受 `Home` 参数的构造函数,那么配置文件中会有如下代码: ```xml ``` 相比于 setter 注入,构造...

    Java反射、泛型和注解实战之Spring核心注入IOC的实现

    可以使用反射来获取类的构造函数或字段,然后通过`Class.newInstance()`或`Field.set()`进行操作。 4. 配置管理:设计一个配置管理系统,它可以是简单的Java集合,也可以是一个基于XML或注解的配置,用于存储bean的...

    Spring三种注入方式(三)

    当类有多个构造函数时,Spring会使用带有最多参数的构造函数来创建对象,并将对应的依赖注入。这种方式确保了对象在创建时就已经具备了所有必要的依赖,提高了代码的健壮性。示例如下: ```java public class ...

    spring中注解的实现原理

    这个BeanDefinition包含了类的信息、构造函数、属性、方法等,使得Spring可以在运行时实例化和管理bean。 对于依赖注入,Spring通过AutowiredAnnotationBeanPostProcessor和CommonAnnotationBeanPostProcessor来...

    Spring依赖注入检查.

    当类需要依赖其他对象时,Spring可以通过构造函数传递这些依赖。这样,每次创建类的新实例时,依赖项都会自动设置。例如: ```java public class MyClass { private MyDependency myDependency; public ...

    spring annotation注解

    @Autowired 注解可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。例如: Java 代码 ```java public class UserManagerImpl implements UserManager { @Autowired private UserDao userDao; ... ...

Global site tag (gtag.js) - Google Analytics