总结想管bean的一些知识:
bean的别名
可以通过在<bean>标记的name属性中,指定逗号分隔或是分号分隔的名称列表来实现.
<bean id="name1" name="name2,name3,name4" class="java.lang.String"/>
通过下面程序可以验证:
String str1 = (String)factory.getBean("name1");
String str1 = (String)factory.getBean("name1");
System.out.println(str1==str2);//这里返回:true
小记:可以通过将bean的任意一个命名传送给Bean工厂的getAlisses(String)方法获得bean的名字列表,返回的命名列表的数量将总是少于bean所有名称数量1个,因为Spring认为其中的一个命名是默认的,哪个命名是默认的取决与你如何配置这个bean,如果通过id属性指定一个命名,那么它就是默认的,如果没有,那么传送名称属性的列表中的第一个名称将被认为是默认的。
实例化模式
1.单例模式使用场景
*部分状态的共享对象
*只读状态的共享对象
*使用共享状态的共享对象
*具有可记录状态的高吞吐量对象
2.非单例模式使用场景
*具有可回写状态的对象
*具有私有状态的对象
依赖解析
可以通过附加信息通知spring来解析bean之间的依赖关系。
<bean id="a" class="com.apress.prospring.BeanA" depends-on="b"/>
<bean id="b" class="com.apress.prospring.BeanB"/>
依赖检查
在创建Bean实例和装配依赖关系时,spring默认是不会检查bean的每个属性是不是都有对以的值。很多情况是不需要检查,如果想检查可以让spring给你做。
spring 有三中检查模式:
简单模式,对象模式,全模式,
分别如下:
<bean id ="beanA" class ="com.spring.BeanA" dependency-check="simple">
<property name="..."/>
<property name="..."/>
</bean>
<bean id ="beanA" class ="com.spring.BeanA" dependency-check="objects">
<property name="..."/>
<property name="..."/>
</bean>
<bean id ="beanA" class ="com.spring.BeanA" dependency-check="all">
<property name="..."/>
<property name="..."/>
</bean>
bean继承
<bean id="beanA" class ="com.spring.BeanA">
<property name="name">
<value>kantery</value>
</property>
<property name="age">
<value>22</value>
</property>
</bean>
<bean id ="beanB" class ="com.springBeanB" parent="beanA">
<property name="age">
<value>35</value>
</propery>
</bean>
这里的BeanB继续通过属性parent="beanA"表明beanA是它的父类,它可以从父类那里继承name属性,并拥有自己的age属性。
分享到:
相关推荐
本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...
马士兵老师是知名的Java教育专家,他的Spring框架学习笔记深入浅出,对于初学者和进阶者来说都是一份宝贵的资源。这份笔记涵盖了Spring的核心概念、配置、AOP(面向切面编程)、DI(依赖注入)等关键知识点。 1. **...
总之,Spring源码学习是一个深化编程技能,理解设计模式,以及提高问题解决能力的过程。通过深入研究,程序员不仅可以优化自己的代码,还能更高效地利用Spring框架提供的功能,提升项目的可维护性和扩展性。
这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...
学习Spring源码不仅可以深入理解其工作原理,还可以提升自己的编程技能和设计思维。通过阅读源码,开发者可以了解如何实现DI和AOP,以及Spring如何优雅地管理对象和处理各种框架的集成。对于初入IT行业的人员来说,...
### Spring学习笔记(精华全记录) #### Spring框架概述 Spring框架源自Rod Johnson的个人项目,最初于2002年末发布。Spring并非一开始就作为一个完整的框架出现,而是从一个项目逐步发展而来。随着项目的成熟,...
"Spring笔记示例源代码"这个资源很可能是为了帮助学习者深入理解Spring框架的各种功能和用法而提供的实际代码示例。 1. **Spring IoC**:IoC是Spring的核心特性,它将对象的创建和管理权交给Spring容器,使得开发者...
Spring框架是Java开发中最常用的轻量级开源框架之一,它为构建企业级应用程序...以上是Spring5源码分析笔记中的主要知识点,深入学习这些内容将有助于开发者更好地理解和利用Spring框架,从而提高开发效率和应用质量。
在Spring框架中,自动扫描和管理Bean是一种便捷的方式,它允许开发者无需显式配置每个Bean,而是通过指定包路径来让Spring自动发现和管理Bean。本文将深入探讨这个主题,帮助你更好地理解和应用这一功能。 首先,让...
本笔记将深入探讨Spring的源码学习,重点理解其核心组件和生命周期。 首先,Spring通过反射机制来实例化对象。在Java中,我们可以使用`Class.forName()`方法根据完全限定类名获取类对象,或者通过已有对象的`...
这个"spring学习笔记,包括源码学习"的资料很可能包含了一系列关于Spring框架的核心概念、配置、使用方法以及深入源码的解析。 首先,让我们来了解一下Spring框架的基础知识。Spring的核心特性是依赖注入,它允许...
马士兵Spring课堂笔记(超级详细版) 本资源主要讲解了Spring框架的基础概念和应用,涵盖了面向接口编程、IOC/DI、AOP、Spring应用IOC/DI、Spring应用AOP、Struts2.1.6 + Spring2.5.6 + Hibernate3.3.2整合、Spring...
8. **课程笔记**:文件名中的 "spring" 可能包含关于 Spring 框架的详细笔记,这将帮助学习者巩固理论知识,理解讲师讲解的重点。 通过这些教程,初学者能够逐步建立起对 Spring 框架的整体认识,并通过实际操作...
标题 "spring学习笔记(3.20)" 暗示我们即将探讨的是关于Spring框架的某个特定主题,可能涵盖版本3.20或基于该版本的学习内容。Spring是一个广泛使用的Java企业级应用开发框架,它提供了依赖注入、AOP(面向切面编程...
"尚学堂Spring学习笔记" 本文档记录了尚学堂Spring学习笔记的重要知识点,涵盖了Spring配置文件的设置、普通属性的注入、自定义属性编辑器、公共属性的注入、Spring注解等内容。 一、Spring配置文件的设置 在...
标题中的“spring源码学习”指的是对Spring框架的源代码进行深入研究,这通常是Java开发者为了更好地理解Spring的工作原理、优化应用性能或者进行二次开发所进行的活动。Spring是Java领域最广泛使用的轻量级开源框架...
《精通Spring(第一版)》笔记:第一章 Spring启程 在深入探讨Spring框架之前,我们需要先理解Spring的基本概念和核心特性。Spring是一个轻量级的Java企业级应用框架,它提供了一个全面的编程和配置模型,旨在简化...
标题 "spring2.0学习笔记+spring定时任务" 暗示了我们即将探讨的是关于Spring框架2.0版本的学习心得以及如何在Spring中配置和使用定时任务。在这个主题下,我们将深入理解Spring的核心概念,特别是它在企业级Java...
这份"Spring 入门笔记源码"旨在帮助初学者快速掌握 Spring 的基本概念和使用方法。 首先,我们从"readme"开始,通常这是一个介绍性文档,可能包含了源码的结构、使用方法、注意事项等关键信息。在学习源码前,阅读 ...
《Spring技术内幕 学习笔记》是一份深入探讨Spring框架核心机制的学习资料,结合作者zzc1684在iteye博客上的博文,我们可以从中学习到Spring框架的多个重要知识点。Spring作为Java企业级应用开发的基石,其设计思想...