setter注入方式(DI注入)

依赖注入方式

问题导入:向一个类中传递数据的方式有几种?

  • 普通方法(set方法)
  • 构造方法

问题导入:依赖注入描述了在容器中建立bean与bean之间依赖关系的过程,如果bean运行需要的是数字或字符串呢?

  • 引用类型
  • 简单类型(基本数据类型与String)

依赖注入方式

1.setter注入
  • 简单类型
  • 引用类型
2.构造器注入(构造方法注入)
  • 简单类型
  • 引用类型
setter注入——引用类型

在bean中定义引用类型属性并提供可访问的set方法

public class BookServiceImpl implements BookService {
    //删除业务层中使用New的方式创建的dao对象
   // private BookDao bookDao = new BookDaoImpl() ;

private BookDao bookDao ;
    public void save(){
        System.out.println("book service save....");
        bookDao.save();

    }
//di:提供对应的set方法
    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }

配置中使用property标签ref属性注入引用类型对象

   <bean id="bookDao" name="bookDao2 bookdao" class="com.example.iocdemo04.dao.impl.BookDaoImpl" scope="prototype"/>
       <bean id="bookservice" name="bookService bookService2 " class="com.example.iocdemo04.service.impl.BookServiceImpl">
           <!--配置service与dao的关系-->
<!--
           name属性表示配置哪一个具体的属性 ref属性表示参照哪一个bean
-->
             <property name="bookDao" ref="bookDao"></property>
             </bean>
setter注入——简单类型

在bean中定义引用类型属性并提供可访问的set方法

public class BookDaoImpl implements BookDao{
       private int connectionNumber;
       public void setConnectionNumber(int connectionNumber) {
          this.connectionNumber= connectionNumber;
  }
}

配置中使用property标签value属性注入简单类型数据

<bean id="bookDao" class="com.example.dao.impl.BookDaoImpl">
   <property name="connectionNumber" value ="10"/>
</bean>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值