04 Spring依赖注入

简介: bean的概念:Spring框架在运行时管理的对象

思维导图


21.jpg


提要


配置文件中的标签及属性说明

bean的概念:Spring框架在运行时管理的对象

标签 说明

子标签

属性

bean

配置管理bean的标签

子标签


property 

setter注入时使用property标签注入内容

array、list、set、map

name,

constructor-arg

构造器注入时使用constructor-arg标签注入内容 



array

注入集合时候使用



value 

注入集合时候使用用于写值




1 spring使用setter注入


1.1 注入普通类型数据


(1)在目标类中添加变量设置set方法

(2)在配置文件中,添加property标签

<bean id="bookService" class="com.zinksl.service.impl.BookService">
        <property name="bookDao" value="普通类型数据"/>
</bean>


1.2 注入引用类型数据


(1)在目标类中添加变量设置set方法

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

(2)在配置文件中,添加property标签

<bean id="bookService" class="com.zinksl.service.impl.BookService">
        <property name="bookDao" ref="bookDao"/>
</bean>


1.3 获取bean调用方法或获取值


public static void main(String[] args) {

//        第一步获取Spring容器
        ClassPathXmlApplicationContext act = new ClassPathXmlApplicationContext("applicationContext.xml");
//        获取bean
        BookService bookService = (BookService) act.getBean("bookService");
        BookDao bookDao = (BookDao) act.getBean("bookDao");
//        调用方法
        bookService.say();
//        act.close();
        act.registerShutdownHook();
    }
}


2 spring使用构造器注入


2.1 在目标类中重写构造方法,将需要引用的对象传入构造方法


//    应用类型数据
    private StudentDao studentDao;
//    普通类型数据
    private String name;
    private int age;
// 重写构造器
    public StudentService(StudentDao stu,int ageParameter,String nameParameter) {
        this.studentDao = stu;
        this.age = ageParameter;
        this.name = nameParameter;
    }



2.2 注入引用类型数据


在配置文件中的bean标签下新增constructor-arg标签

<!-- studentDao对象 -->
<bean id="studentDao" class="com.zinksl.dao.impl.StudentDao"/>
<bean id="studentService" class="com.zinksl.service.impl.StudentService">
<!--   此处name指构造器参数名 -->
  <constructor-arg name="stu" ref="studentDao"/>
</bean>


2.3 在主方法中获取bean调用方法

 

//第一步获取容器
        ApplicationContext apc = new ClassPathXmlApplicationContext("applicationContext.xml");
  //获取对象
         StudentService studentService = (StudentService) apc.getBean("studentService");
         studentService.say();
目录
相关文章
|
4天前
|
设计模式 XML Java
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
本文详细介绍了Spring框架的核心功能,并通过手写自定义Spring框架的方式,深入理解了Spring的IOC(控制反转)和DI(依赖注入)功能,并且学会实际运用设计模式到真实开发中。
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
|
20天前
|
Java 数据库 数据安全/隐私保护
轻松掌握Spring依赖注入:打造你的登录验证系统
本文以轻松活泼的风格,带领读者走进Spring框架中的依赖注入和登录验证的世界。通过详细的步骤和代码示例,我们从DAO层的创建到Service层的实现,再到Spring配置文件的编写,最后通过测试类验证功能,一步步构建了一个简单的登录验证系统。文章不仅提供了实用的技术指导,还以口语化和生动的语言,让学习变得不再枯燥。
36 2
|
5月前
|
XML Java 测试技术
Spring Boot中的依赖注入和控制反转
Spring Boot中的依赖注入和控制反转
|
7月前
|
XML Java 程序员
Spring6框架中依赖注入的多种方式(推荐构造器注入)
依赖注入(DI)是一种过程,对象通过构造函数参数、工厂方法的参数或在对象实例构建后设置的属性来定义它们的依赖关系(即与其一起工作的其他对象)。
113 3
|
7月前
|
Java 测试技术 开发者
Spring IoC容器通过依赖注入机制实现控制反转
【4月更文挑战第30天】Spring IoC容器通过依赖注入机制实现控制反转
69 0
|
4月前
|
设计模式 自然语言处理 Java
简单了解下Spring中的各种Aware接口实现依赖注入
在Spring框架中,Aware接口是一组用于提供特定资源或环境信息的回调接口。这些接口被设计用来允许Bean获取对Spring容器或其他相关资源的引用,并在需要时进行适当的处理。
47 2
|
4月前
|
Java Spring 容器
彻底改变你的编程人生!揭秘 Spring 框架依赖注入的神奇魔力,让你的代码瞬间焕然一新!
【8月更文挑战第31天】本文介绍 Spring 框架中的依赖注入(DI),一种降低代码耦合度的设计模式。通过 Spring 的 DI 容器,开发者可专注业务逻辑而非依赖管理。文中详细解释了 DI 的基本概念及其实现方式,如构造器注入、字段注入与 setter 方法注入,并提供示例说明如何在实际项目中应用这些技术。通过 Spring 的 @Configuration 和 @Bean 注解,可轻松定义与管理应用中的组件及其依赖关系,实现更简洁、易维护的代码结构。
67 0
|
4月前
|
自然语言处理 Java 开发者
简单了解下Spring中的各种Aware接口实现依赖注入
【8月更文挑战第21天】在Spring框架中,Aware接口系列是一种特殊的机制,它允许Bean在初始化过程中获取到Spring容器或容器中的特定资源,从而实现了更加灵活和强大的依赖注入方式。本文将围绕Spring中的各种Aware接口,详细探讨它们如何帮助开发者在工作和学习中更好地实现依赖注入。
129 0
|
5月前
|
缓存 Java Spring
Spring循环依赖问题之Spring不支持构造器内的强依赖注入如何解决
Spring循环依赖问题之Spring不支持构造器内的强依赖注入如何解决
|
6月前
|
设计模式 Java 测试技术
Spring Boot中的依赖注入详解
Spring Boot中的依赖注入详解