`
忘忧鸟
  • 浏览: 145440 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Spring学习笔记之一

 
阅读更多

1.BeanFactory与ApplicationContext
     BeanFactory:提供IoC服务支持,默认采用延迟初始化策略(lazy-load),容器启动初期较快
     ApplicationContext:间接继承自BeanFactory,提供其他高级特性:事件发布、国际化支持;容器启动时默认全部初始化并绑定完成。

2.Xml配置说明
   <beans> xml配置文件最顶层元素
   <description> 描述信息
   <import> 加载所依赖的配置文件
   <alias> 别名
  <bean id="" class="" name="别名,可以使用id不能使用的字符,且可以指定多个别名,逗号隔开">

3.构造方法注入xml

 

<bean id="" class="">
	<constructor-arg type="int" index="0">
		<value>1</value>
	</constructor-arg>
	<constructor-arg type="String" index="1" value="2"/>
</bean>

 

4.setter方法注入xml

    确保注入对象提供默认的构造方法

 

<bean id="" class="">
	<property name="注入对象所对应的实例变量名">
		<value>1</value>
	</property>
	<property name="注入对象所对应的实例变量名" ref="otherbean"/>
	</bean>

 5.<property>和<constructor-arg>中可用配置项

 

	value、ref、bean、idref、null、list、set、map、props
	<vale>:为主体对象注入简单的数据类型。是最底层元素,内部不能嵌套其他元素
	<ref local="beanname"/>:只能加载同一配置文件中的对象
	<ref parent="beanname"/>:只能指定位于当前容器的父容器中定义的对象引用。
	<ref bean="beanname"/>:基本通吃
	<idref bean="refbeanname"><==><value>refbeanname</value>:依赖对象的名称,不是引用.
	内部<bean>:
	<list>:对应注入对象类型为java.util.List及子类或者数组的依赖对象,可以有序地注入。
		<property name="listname">
			<list>
				<value>11</value>
				<ref bean="beanname">
				<bean class="innerbean">
			</list>
		</property>
	<set>:注入java.util.Set或者子类的依赖对象,无序。
	<map>:注入java.util.Map或者子类的依赖对象。
		<property name="valueMap">
			<map>
				<entry key="key1">
					<value></value>
				</entry>
				<entry>
					<key>key2</key>
					<ref bean="someObject"/>
				</entry>
				<entry key="key1">
					<value></value>
				</entry>
				<entry key-ref="lstkey"><!--key-ref:用于指定对象的引用作为键-->
					<list>……</list
				</entry>
				<entry key="" value-ref=""/>
			</map>
		</property>
	<props>:注入java.util.Properties的对象依赖
		<property>
			<props>
				<prop key="url">url</prop>
			</props>
		</property>
	<null/>:空元素,<value></value>:结果为"",不是Null

 

6.depends-on:容器初始化当前Bean时,会先实例化当前Bean定义所依赖的其他Bean,多个依赖关系是通过逗号隔开
	<bean id="bean1" class="" depends-on="beanA,beanB"/>
7.autowire:指定当前Bean定义采用某种类型的自动绑定模式。提供5种模式:no、byName、byType、constructor、autodetect
	no:不采用任何自动绑定模式,默认
	byName:按照类中声明的实例变量的名称,与Xml配置文件中声明的Bean定义的beanName的值进行匹配。
		public class Foo{
			private Bar barAttr;
		}
		<bean id="fooBean class="..Foo" autowire="byName"/>
		<bean id="barAttr" class="..Bar"/>
	byType:容器根据当前Bean定义类型,分析其依赖对象类型到所有bean定义中寻找与依赖类型相同的bean。若找到多个相同类型Bean,返回错误,无法自动绑定。
	constructor:针对构造方法参数自动绑定,与byType类似;而byName与byType针对property的自动绑定,
	autodetect:是byType和constructor模式的结合体,如果对象拥有默认无参数的构造方法,容器优先考虑byType模式,否则constructor模式
8.dependency-check:对其所依赖的对象进行最终检查。4种类型:
	none:不做依赖检查
	simple:对简单属性类型以及相关的collection进行检查
	object:只对对象引用类型依赖进行检查
	all:simple和object结合
9.lazy-init: 主要对ApplicationContext容器的bean初始化行为施以控制。pplicationContext容器启动时马上对singleton的bean进行实例化。

 

 

 

分享到:
评论

相关推荐

    Spring学习笔记之一“why spring”

    这篇"Spring学习笔记之一“why spring”"可能探讨了为何开发者会选择Spring作为他们的技术栈。让我们深入了解一下Spring框架的核心优势和特性。 首先,Spring是轻量级的。尽管它提供了众多功能,但核心容器(如IoC...

    我的Pro Spring 学习笔记 之一 Say Hello World in Spring Way

    《我的Pro Spring 学习笔记 之一:Say Hello World in Spring Way》 Spring框架是Java开发中的一个核心组件,尤其在企业级应用中占据主导地位。这篇学习笔记将引导我们踏入Spring的世界,通过一个简单的“Hello ...

    Spring学习笔记(精华全记录)

    ### Spring学习笔记(精华全记录) #### Spring框架概述 Spring框架源自Rod Johnson的个人项目,最初于2002年末发布。Spring并非一开始就作为一个完整的框架出现,而是从一个项目逐步发展而来。随着项目的成熟,...

    Spring学习笔记.zip

    依赖注入是Spring框架的核心特性之一,它允许开发者在运行时将对象及其依赖关系解耦。通过DI,组件不再直接创建它所依赖的对象,而是由容器负责创建和管理这些对象,并将它们注入到需要的地方。这有助于提高代码的可...

    Spring框架学习笔记

    依赖注入是Spring的核心功能之一,它允许开发者在运行时动态地将依赖关系注入到对象中,而不是由对象自行创建或查找依赖。这样可以减少对象间的耦合,提高代码的可重用性和可测试性。 三、面向切面编程(AOP) ...

    javaSpring学习笔记

    “Java Spring学习笔记”是一份宝贵的资源,专门为想要学习和掌握Java Spring框架的开发者而设计。这份学习笔记提供了详细而系统的教程和实践指南,帮助初学者快速入门,并带领已经有一定经验的开发者深入理解和应用...

    Spring Cloud 学习笔记.pdf

    Spring Cloud构建于Spring Boot之上,利用Spring Boot的开发便利性简化了分布式系统的开发。Spring Cloud的组件可帮助开发者快速搭建分布式系统中涉及的常见模式。 Spring Cloud的五大核心组件包括:Eureka、Ribbon...

    Spring学习笔记.doc

    ### Spring学习笔记知识点详解 #### 一、Spring框架概述 **1.1 什么是Spring** Spring框架是一个开源的轻量级应用框架,主要用于简化企业级应用程序的开发过程。它的核心特性在于提供了一种灵活的方式来组织和...

    SpringCloud学习笔记

    【SpringBoot核心特性】 SpringBoot是Spring框架的一个扩展,它旨在简化Spring应用程序的开发过程,...这份学习笔记涵盖了SpringBoot的基础特性和SpringCloud的负载均衡实践,对于深入理解这两个技术有极大的帮助。

    马士兵老师spring框架学习笔记

    2. **IoC(控制反转)**:Spring的核心特性之一是依赖注入(Dependency Injection,简称DI),它是控制反转的一种实现方式。DI允许我们不直接在类内部创建对象,而是通过配置文件或注解来管理对象及其依赖关系,降低...

    spring指南学习笔记

    标题和描述均提到了“spring指南学习笔记”,这意味着文档聚焦于Spring框架的学习心得与关键概念。Spring是一个开源的Java企业级应用框架,以其强大的依赖注入(Dependency Injection, DI)和面向切面编程(Aspect ...

    spring-boot学习笔记

    ### Spring Boot 学习笔记知识点总结 #### 一、Spring发展史 - **Spring1.x时代**:在Spring1.x的时代,主要通过XML文件来配置Bean。随着项目的规模扩大,XML配置文件的数量也随之增加,这导致开发人员需要频繁地...

    学习笔记:尚硅谷Spring6基础篇

    ### 学习笔记:尚硅谷Spring6基础篇 #### 一、Spring框架概述 ##### 1.1 Spring是什么? Spring是一款主流的Java EE轻量级开源框架,由“Spring之父”Rod Johnson提出并创立。Spring的主要目标是简化Java企业级...

    Spring 学习笔记《Spring Boot》源码

    在《Spring Boot》源码学习笔记中,我们可以深入理解其内部工作机制,包括自动配置、起步依赖、命令行接口(CLI)以及如何集成各种组件如JSP等。JSP(JavaServer Pages)是一种用于动态创建网页的技术,Spring Boot ...

Global site tag (gtag.js) - Google Analytics