`

Spring的IoC学习

 
阅读更多

 Spring提供两种IoC容器

• BeanFactory
• ApplicationContext

 

  如果构造器注入和setter方法注入都注入了同一个属性,并且值不一样,会怎样?

 

public class User {

	private String username;
	private String password;
	
	public Test(String username) {
		this.username = username;
		System.out.println(this.username);
	}

	public void init() {
		System.out.println(this.username + " ** " +this.password);
	}
	
	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
		System.out.println(this.username);
	}
	
	public String getPassword() {
		return password;
	}
	
	public void setPassword(String password) {
		this.password = password;
	}
	
}

 

Bean的配置如下:

 

<?xml version="1.0" encoding="UTF-8"?>
	<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
	<beans>
		<bean id="userBean" class="User">
			<constructor-arg index="0">
					<value>zhangsan</value>
				</constructor-arg>
			<property name="username">
				<value>lisi</value>
			</property>
			<property name="password">
				<value>123456</value>
			</property>
		</bean>
	</beans>

 

输出为:

 

zhangsan
lisi
123456
lisi ** 123456

 

 Spring框架默认支持5种作用域:

 

  singleton (默认的)
  IoC容器只会创建该Bean的唯一实例;

 

  prototype
  IoC容器在每次请求该Bean的时候都会创建一个新的实例;

  request
  在一次HTTP请求中,IoC容器会返回该Bean的同一个实例,对于不同的用户请求,则会返回不同的实例;

 

   session 
  在一个HTTP session 中,IoC容器会返回该Bean的同一个实例,对于不同的用户session,则会返回不同的实例;

 

  global session
  在一个全局的HTTP session中,IoC容器会返回该Bean的同一个实例。

1
2
分享到:
评论

相关推荐

    spring IOC学习源码

    当我们说"spring IOC学习源码"时,通常会关注以下几个关键部分: - **BeanDefinition**:这是Spring容器中对bean的元数据描述,包含了类名、属性值、依赖关系等信息。 - **BeanFactory**:这是Spring容器的基础接口...

    Spring核心学习IOC部分

    本学习资料主要聚焦于Spring的IOC容器,特别是从最基本的BeanFactory开始,逐步深入理解如何构建一个类似Spring功能的系统。 首先,BeanFactory是Spring的最基本容器,它负责管理对象(也称为Bean)。BeanFactory...

    实验一 Springioc基本操作.docx

    SpringIOC是Spring Framework中的核心组件之一,负责管理应用程序中的对象、依赖关系和生命周期。 在 Spring IOC 中,对象的创建和管理是通过 BeanFactory 或 ApplicationContext 实现的。BeanFactory 是 Spring ...

    SpringIoc示例代码

    Spring IOC,全称Inversion of Control,即“控制反转”,是Spring框架的核心特性之一。在传统的Java应用程序中,对象的创建和...同时,这样的测试也有助于理解和学习Spring IOC的工作机制,提升对Spring框架的理解。

    spring ioc思维导图源文件

    Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性之一,它允许开发者将对象的创建和管理...而通过"spring ioc思维导图源文件"的学习,可以帮助我们系统地梳理和记忆这些知识点,从而提升开发效率。

    spring ioc

    标题 "Spring IOC" 描述了我们讨论的核心主题——Spring 框架中的依赖注入(Inversion of Control,简称 IOC)...通过深入学习和理解 Spring 源码,我们可以更好地掌握这个强大的工具,并在日常开发中发挥更大的作用。

    SpringIOC经典Demo

    Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性,它极大地简化了Java应用的开发,通过将对象的创建...通过学习和理解这个项目,你可以深入掌握Spring IOC的核心原理,并将其应用到自己的项目中。

    Spring IoC源码深度剖析开源架构源码2021.pdf

    标题《Spring IoC源码深度剖析开源架构源码2021.pdf》和描述《Spring IoC源码深度剖析开源架构源码2021.pdf》表明该文档主要面向于分析Spring框架中控制反转(IoC)容器的核心源码,解析和理解其内部的工作机制及...

    kentanvictor#STUDY#SpringIoc学习1

    工厂模式大体实现过程如下:工厂 + 反射 + 配置文件&lt;bean id = "us" class = "com.kentanvictor.UserService

    Java反射_Spring IOC

    Java反射和Spring IOC是Java开发中的两个重要概念,它们在构建灵活、可扩展的应用程序时起着关键作用。本文将深入探讨这两个主题,并提供相关的学习资源。 首先,让我们了解一下Java反射。Java反射机制是Java语言的...

    Spring IoC讲解PPT

    **Spring 框架概述** Spring 是一个开源的 Java 应用框架,由 Rod Johnson 在其...通过学习和实践 Spring 框架,开发者可以掌握一套完整的解决方案,提高开发效率,降低项目风险,并能够更好地应对软件需求的变化。

    Java-Spring-SpringIoC容器-SpringIoC的学习

    在Java Spring框架中,Spring IoC(Inversion of Control,控制反转)是核心特性之一,它使得应用程序的组件之间的依赖关系不再由代码直接管理,而是交由Spring IoC容器负责。这种设计模式降低了代码间的耦合,提高...

    模拟spring ioc过程

    这个"模拟spring ioc过程"的学习例子是基于Java语言的,旨在帮助理解Spring框架中的这两个核心概念。在Java工程中,我们通常会通过配置文件(如XML或Java配置类)来定义bean的定义和它们之间的依赖关系。在实际运行...

    springioc的详细讲解

    Spring IOC,全称为Inversion of Control,即控制反转,是Spring框架的核心特性之一。它将对象的创建和管理从应用程序代码中分离出来,...通过阅读提供的"Spring_IOC_.pdf"文档,你可以深入学习和掌握这些概念和技术。

    Spring IOC源码解读

    Spring IOC,即Inversion of Control(控制反转),是Spring框架的核心特性之一,它负责管理和装配应用程序中的对象。...理解并掌握Spring的IOC源码,对于深入学习Spring框架以及提升系统设计能力具有重要意义。

    Spring IOC AOP学习示例

    Spring IOC AOP学习示例代码,包含Spring常用操作示例和所有所需jar文件。参考博客:http://blog.csdn.net/daijin888888/article/details/51735291

    模拟spring IOC非常好的事例

    通过这个模拟的Spring IOC示例,你可以学习到如何设置bean的属性,如何处理bean间的依赖关系,以及如何在代码中获取和使用这些bean。对于Spring初学者来说,这是一个很好的起点,可以帮助你更好地理解和掌握Spring的...

    Spring-ioc-jar

    这个jar文件"Spring-ioc-jar"包含了实现Spring IOC功能所需的关键类和接口,是学习和使用Spring IOC技术的基础。 Spring框架的IOC容器是其核心组件,主要由`ApplicationContext`和`BeanFactory`两个接口代表。`...

    JavaEE spring IoC入门案例

    通过学习和实践这个"JavaEE spring IoC入门案例",你将能够理解并掌握如何在Spring框架下实现IoC,从而提高你的JavaEE开发能力。深入理解和运用这些知识点,可以让你在实际项目中编写出更加健壮、易维护的代码。

    spring ioc+mvc代码

    通过实际操作,我们可以更深入地理解Spring的内部机制,为后续的高级特性学习和框架优化打下坚实基础。 总结,Spring的IOC和MVC设计模式是现代Java应用开发的基石,它们极大地提高了代码的可维护性和灵活性。通过...

Global site tag (gtag.js) - Google Analytics