Spring-自动装配

简介: Spring-自动装配

👍自动装配方式

  • IoC容器根据bean所依赖的资源在容器中自动查找并注入到bean中的过程称为自动装配
  • 自动装配方式

    • 按类型(常用)
    • 按名称
    • 按构造方法
    • 不启用自动装配

👍案例

👍BookDao接口

package com.study.dao;
public interface BookDao {
    void save();
}

👍BookDaoImpl实现类

package com.study.dao.impl;

import com.study.dao.BookDao;

public class BookDaoImpl implements BookDao {
    public void save() {
        System.out.println("BookDaoImpl...");
    }
}

👍BookService接口

package com.study.service;

public interface BookService {
    void save();
}

👍BookServiceImpl实现类

package com.study.service.impl;

import com.study.dao.BookDao;
import com.study.service.BookService;

public class BookServiceImpl implements BookService {

    private BookDao bookDao;


    public void save() {
        bookDao.save();

        System.out.println("BookServiceImpl...");
    }

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

👍applicationContext.xml配置文件

注意:

  • 第一种按类型autowire="byType",id="bookDao" 则可以不写
  • 第二种按名称autowire="byName",如果id="bookDao1",则报错
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="bookDao" class="com.study.dao.impl.BookDaoImpl"></bean>
    <bean id="bookService" class="com.study.service.impl.BookServiceImpl" autowire="byType">
    </bean>
   <!-- 第一种按类型autowire="byType",id="bookDao" 则可以不写-->
   <!-- 第二种按名称autowire="byName",如果id="bookDao1",则报错-->


</beans>

👍Test测试类

import com.study.dao.BookDao;
import com.study.service.BookService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    public static void main(String[] args) {
        ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
        BookService service = app.getBean(BookService.class);
        service.save();
    }
}
/*
BookDaoImpl...
BookServiceImpl...
 */
相关文章
|
Java Spring 容器
【Spring的自动装配】
【Spring的自动装配】
|
XML Java 应用服务中间件
【Spring】IOC从演变到自动装配的全攻略详解(二)
【Spring】IOC从演变到自动装配的全攻略详解(二)
51 0
|
Java Spring 容器
【Spring Boot自动装配】
【Spring Boot自动装配】
|
5月前
|
XML druid Java
Spring5系列学习文章分享---第二篇(IOC的bean管理factory+Bean作用域与生命周期+自动装配+基于注解管理+外部属性管理之druid)
Spring5系列学习文章分享---第二篇(IOC的bean管理factory+Bean作用域与生命周期+自动装配+基于注解管理+外部属性管理之druid)
60 0
|
3月前
|
XML Java 数据格式
Spring5入门到实战------6、IOC容器-Bean管理XML方式(自动装配)
这篇文章是Spring5框架的入门教程,详细讲解了IOC容器中Bean的自动装配机制,包括手动装配、`byName`和`byType`两种自动装配方式,并通过XML配置文件和Java代码示例展示了如何在Spring中实现自动装配。
Spring5入门到实战------6、IOC容器-Bean管理XML方式(自动装配)
|
4月前
|
开发框架 Java 开发者
Spring Boot中的自动装配原理
Spring Boot中的自动装配原理
|
5月前
|
Java 应用服务中间件 Spring
解析Spring Boot自动装配的原理与机制
解析Spring Boot自动装配的原理与机制
109 4
|
4月前
|
Java 开发者 Spring
自动装配在Spring框架中的原理与实现方式
自动装配在Spring框架中的原理与实现方式
|
5月前
|
开发框架 Java 开发者
Spring Boot中的自动装配原理
Spring Boot中的自动装配原理
|
6月前
|
Java Spring 容器
Spring依赖注入方式,自动装配及自动装配特征
Spring依赖注入方式,自动装配及自动装配特征
47 1