Spring之构造注入与设值注入
Spring学了好久了,但是一直没时间总结,总是断断续续的,这段时间打算重新做下Spring这方面的功课。
这几天闲着没事赶紧做做总结。Spring的核心就是控制反转和依赖注入,依赖注入又可以分成构造注入和设值注入,使用构造注入可以在构建对象的同时一并完成依赖关系的建立,在对象的关系比较多时为了避免使用构造注入时造成的代码量过多,我们可以考虑使用设值注入。但是设置注入不能保证数据在执行过程中不被更改设定,所以我们要是想让一些数据变成只读或者私有,使用构造注入会好一点。
不过貌似设值注入用的更多一点。
首先建一个Web工程,然后将Spring的依赖包添加进去,
然后把Spring的核心配置文件beans.xml添加到src文件夹下面,创建HelloWorld.java程序如下:
package com.spring.test; public class HelloWorld { private String message; public HelloWorld() { } public HelloWorld(String message) { super(); this.message = message; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
然后在beans.xml中添加:
<?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-2.5.xsd"> <bean id="helloWorld" class="com.spring.test.HelloWorld"> <constructor-arg index="0"> <value>I am ZDX</value> </constructor-arg> </bean> </beans>
以上这种配置方式是构造注入,设值注入需要在beans.xml中这样设置:
<bean id="helloWorld" class="com.spring.test.HelloWorld"> <property name="message"> <value>I am ZDX</value> </property> </bean>
然后编写测试代码:
package com.spring.test; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class HelloWorldTest { @Test public void test() { ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml"); HelloWorld helloWorld=(HelloWorld) context.getBean("helloWorld"); System.out.println(helloWorld.getMessage()); } }
还没深入,大概写一下。。。。
相关推荐
总结起来,Spring的setter注入和构造注入都是实现依赖注入的有效方式,选择哪种取决于具体场景。理解并熟练掌握这两种注入方式,对于编写健壮、可维护的Spring应用至关重要。同时,注意避免常见的配置错误,能提高...
本篇将详细讲解如何使用构造器注入作为Spring依赖注入的一种方式,并通过一个完整的可运行示例——"SpringIOCTest2"来加深理解。 首先,理解依赖注入的概念。依赖注入允许我们不在类内部创建对象,而是通过外部源...
总结来说,Spring的setter和构造注入是实现依赖注入的关键技术,它们提供了灵活且强大的方式来管理对象间的依赖关系,从而提高代码的可维护性和测试性。在实际项目中,开发者可以根据需求和场景选择合适的注入方式。
本教程将指导你如何搭建Spring环境,并实现设置注入和构造注入。 首先,让我们理解什么是Spring框架。Spring是一个开源的Java平台,主要用于构建企业级应用。它提供了全面的编程和配置模型,极大地简化了JavaEE应用...
Spring框架构造注入操作实战案例 在软件开发中,构造注入是一种常见的设计模式,用于将依赖项注入到对象中,以提高系统的灵活性和可维护性。Spring框架提供了强大的构造注入功能,允许开发者轻松地将依赖项注入到...
Spring提供了多种注入方式,包括set注入、构造注入和自动注入,让我们逐一深入探讨。 1. **Set注入** Set注入是最常见的注入方式,它通过setter方法来设置对象的依赖。首先,你需要在类中声明需要注入的属性,并...
总结起来,Spring的依赖注入机制是其核心特性之一,它简化了对象间的依赖关系管理,提高了代码的可读性和可维护性。通过理解并熟练运用构造器注入、设值注入和接口注入,开发者可以更好地利用Spring框架进行企业级...
本资料主要关注两种注入方式:设值注入(Setter Injection)和构造注入(Constructor Injection),并通过XML配置文件进行管理。 设值注入是通过setter方法来注入依赖的。首先,我们需要在类中声明需要注入的属性,...
NULL 博文链接:https://zhangyulong.iteye.com/blog/856986
Spring框架构造注入type属性实例详解 在Spring框架中,构造注入是指将对象的依赖关系注入到对象的构造函数中,这种方法可以使对象之间的耦合度降低,从而提高系统的灵活性和可维护性。在本文中,我们将详细介绍...
这种方法与传统的构造器注入和属性注入相比,提供了更大的灵活性,因为它可以在对象完全初始化后按需注入依赖。这在某些场景下特别有用,比如当依赖的实例化需要在特定时刻或条件满足时进行。 在Spring中,方法注入...
Spring依赖注入是Spring框架的核心特性之一,它极大地简化了Java应用程序的开发,使得对象之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。本文将深入探讨Spring依赖注入的底层实现机制。 首先,我们要...
本篇主要介绍Spring中的三种注入方式,包括构造器注入、设值注入和接口注入。 首先,我们来看构造器注入。构造器注入是在创建对象时,通过构造器传递依赖对象。这种方式强制了对象在创建时就必须提供所有必要的依赖...
我们学习了spring框架spring框架里面有3个优势第一个是轻量级的IOC也叫控制反转后来改名为DI也叫依赖注入,依赖注入里面有3中注入方法分别是set注入,构造器注入,注解注入,我传的是set注入的视频
@Autowired 是 Spring 中最常用的注入方法之一,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。@Autowired 的工作原理是,在启动 Spring IoC 时,容器自动装载了一个 ...
2. **setter注入**:在类中定义setter方法,Spring容器可以通过调用这些setter方法来设置依赖对象。 3. **接口注入**:虽然较少使用,但也是Spring支持的一种方式,它通过实现特定的接口来注入依赖。 接下来,我们...
当创建一个类的新实例时,Spring容器会调用带有所需参数的构造函数,从而完成依赖注入。这种方式确保了对象在创建时就已经具备了所有必要的依赖。例如: ```java public class UserService { private UserDao ...
其中,IoC和依赖注入(Dependency Injection, DI)是Spring框架最核心的部分之一。 #### 二、IoC容器概述 在传统的Java应用程序中,对象的创建和管理通常由程序员来完成。这种方式会导致代码之间存在高度耦合,难以...
Spring依赖注入是Spring框架的核心特性之一,它极大地简化了Java应用程序的开发,使得对象之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。本文将深入探讨Spring依赖注入的概念、工作原理以及如何在实际...
我们将深入探讨setter注入,这是Spring中最常见的注入方式之一。 ### 一、setter注入 setter注入是通过Spring容器调用对象的setter方法来设置依赖关系。以下是一个简单的示例: ```java public class UserService...