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...
 */
相关文章
|
7月前
|
Java Spring 容器
【Spring的自动装配】
【Spring的自动装配】
|
8月前
|
XML Java 应用服务中间件
【Spring】IOC从演变到自动装配的全攻略详解(二)
【Spring】IOC从演变到自动装配的全攻略详解(二)
30 0
|
9月前
|
XML Java Maven
Spring Boot自动装配原理
昨天,有位在广州工作4年的小伙伴,在面试中被问到SpringBoot自动装配原理,当时,自我感觉比较好,他要的是30K,但是都没有拿到Offer。今天,我给大家分享一下我的理解。
117 0
|
7月前
|
Java Spring 容器
【Spring Boot自动装配】
【Spring Boot自动装配】
|
5月前
|
Java Maven Spring
【Spring Boot自动装配原理详解与常见面试题】—— 每天一点小知识(下)
【Spring Boot自动装配原理详解与常见面试题】—— 每天一点小知识(下)
114 0
|
5月前
|
Java Redis 开发者
【Spring Boot自动装配原理详解与常见面试题】—— 每天一点小知识(上)
【Spring Boot自动装配原理详解与常见面试题】—— 每天一点小知识
109 0
|
9月前
|
XML Java 数据格式
spring中bean的自动装配(详细)
spring中bean的自动装配(详细)
454 0
|
5月前
|
XML Java 数据格式
spring通过文件属性注入bean和基于xml的bean的自动装配以及spring-eel表达式的使用加代码合集
spring通过文件属性注入bean和基于xml的bean的自动装配以及spring-eel表达式的使用加代码合集
48 0
|
5月前
|
容器
Spring-依赖自动装配
Spring-依赖自动装配
13 0
|
5月前
|
Java Spring 容器
Spring自动装配【Bean的作用域、@Autowried、@Resource】
Spring自动装配【Bean的作用域、@Autowried、@Resource】