Spring依赖注入的三种方式详解

Spring依赖注入的三种方式详解-mikechen

Spring注入方式主要有三种方式:构造方法注入,setter注入,基于注解的注入,下面我分别详解@mikechen

1.构造器注入

构造函数注入(Constructor Injection)是Spring框架中一种常用的依赖注入方式,它通过在类的构造函数上使用@Autowired注解或在XML配置文件中配置构造函数参数,来实现对依赖对象的注入。

如下所示:

public class MyClass {
    private MyDependency myDependency;

    @Autowired
    public MyClass(MyDependency myDependency) {
        this.myDependency = myDependency;
    }

    // ...
}

 

2.Set注入

Set注入这种注入方式通过set方法完成注入,所以在类中必须要给属性设定set方法。

在类的Setter方法上使用@Autowired注解或在XML配置文件中配置Setter方法参数。

如下所示:

public class MyClass {
    private MyDependency myDependency;

    @Autowired
    public void setMyDependency(MyDependency myDependency) {
        this.myDependency = myDependency;
    }
}

如果没有对应的方法,就会报错,Set注入都是通过Java反射机制实现的。

 

3.属性注入

属性注入是大家最为常见也是使用最多的一种注入方式了,代码如下:

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;


    //...
}

这里是使用 @Autowired 注解注入,另外也有 @Resource 等注解,都可以实现注入。

mikechen

mikechen睿哥,10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注公众号,获知一线技术干货!

评论交流
    说说你的看法