【Spring】06:依赖自动装配

120 阅读1分钟

自动装配用于“引用类型(如:对象)”的依赖注入,不能对“简单类型”进行操作。

  • 使用按类型装配(byType)必须相同类型的bean唯一
  • 使用按名称装配(byName)必须指定名称的bean
  • 自动装配优先级 低于 setter注入构造器注入,同时出现时会导致自动装配失效。

01:按“类型”装配,连 id 都可以不起(推荐)

<!--按“类型”装配,连id都可以不起-->
<bean class="com.itheima.dao.impl.BookDaoImpl"/>

<!--autowire属性:开启自动装配,通常使用按类型装配-->
<bean id="bookService" class="com.itheima.service.impl.BookServiceImpl" autowire="byType"/>
//BookServiceImpl
public class BookServiceImpl implements BookService{
    private BookDao bookDao;

    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }
}

02:按“名称”装配,idsetXXX 要对应(有耦合,不推荐)

<!--这里的 id 和 setBookDao 对应-->
<bean id="bookDao" class="com.itheima.dao.impl.BookDaoImpl"/>

<bean id="bookService" class="com.itheima.service.impl.BookServiceImpl" autowire="byName"/>