Java学习笔记

spring学习笔记(二)——依赖注入(DI)

2018-07-16  本文已影响0人  顾烟凉

Spring依赖注入

当一个对象其中有一属性存在其他对象的变量时,即存在依赖。依赖注入可以简单的理解为向类里面的属性设置值
spring依赖注入的方式有多种,在spring框架中我们着重掌握前两种:

使用set方法注入属性

public class UserService {
    private UserDao userdao;
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;       
    }
    public void function() {
        userDao.function();
    }
}
  <!--配置bean,随后交由spring管理-->
    <bean id="userDao" class="UserDao"/>

    <!--创建userService对象-->
    <bean id="userService" class="UserService">
        <property name="userDao" ref="userDao"/>
    </bean>

使用构造器注入

这种注入方式是指在带有参数的构造函数注入,需要传参

public class UserService {
    private userDao userDao;
    public UserService(UserDao userDao) {
        this.userDao = userDao;
        System.out.println("构造方法调用userDao");
    }
}

配置applicationContext.xml文件

    <!--创建userDao对象-->
    <bean id="userDao" class="UserDao"/>

    <!--创建userService对象-->
    <bean id="userService" class="UserService">
        <!--使用有参构造注入属性-->
        <constructor-arg index="0" name="userDao" type="UserDao" ref="userDao"></constructor-arg>
    </bean>

IOC和DI区别

(1)IOC: 控制反转,把对象创建交给spring进行配置
(2)DI: 依赖注入,向类里面的属性中设置值
(3)关系:依赖注入不能单独存在,需要在ioc基础之上完成操作

结语

通过以上总结对spring依赖注入的两种方式有所了解,这是我们接下来学习自动装配和注解的前提,基础永远是构建上层建筑的基石,共勉。

上一篇 下一篇

猜你喜欢

热点阅读