`
忘忧鸟
  • 浏览: 141862 次
  • 性别: 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”

    NULL 博文链接:https://whp0731.iteye.com/blog/355966

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

    示例代码 博文链接:https://danielkwo.iteye.com/blog/40706

    javaSpring学习笔记

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

    SpringCloud学习笔记

    去年工作之余,系统学习整理了一遍springBoot,SpringCloud,文档中有学习的代码仓库,springCloud的每一个组件整理,组件使用案例等等,1积分意思一下啦

    Java相关课程系列笔记之九Servlet学习笔记

    Java相关课程系列笔记之一Java学习笔记 Java相关课程系列笔记之四JDBC学习笔记 Java相关课程系列笔记之六HTML学习笔记 Java相关课程系列笔记之七CSS学习笔记 Java相关课程系列笔记之八JavaScript学习笔记 Java相关...

    spring课堂笔记.docx

    Spring 框架的简介:介绍了 Spring 框架的历史、目标和优势,以及为什么它成为 Java 开发的首选框架之一。 核心概念:深入探讨了 Spring 的核心概念,如控制反转(IoC)和面向切面编程(AOP),以及它们如何改善...

    Java相关课程系列笔记

    Java相关课程系列笔记之八JavaScript学习笔记(建议用WPS打开) Java相关课程系列笔记之二Oracle学习笔记(建议用WPS打开) Java相关课程系列笔记之九Servlet...Java相关课程系列笔记之一Java学习笔记(建议用WPS打开)

    林信良JAVA学习笔记

    著作:《JAVA 学习笔记》、《Spring 技术手册》,为SUN官方教材主要编写成员之一 博客: http://blog.csdn.net/caterpillar_here 详细信息: http://www.china-pub.com/computers/common/info.asp?id=31664

    良葛格JAVA 学习笔记

    作者:林信良(网络化名良葛格) 学历:台湾大学电机工程学系 经历:SUN教育训练中心讲师 著作:《JAVA 学习笔记》、《Spring 技术手册》,为SUN官方教材主要编写成员之一

    spring笔记之helloworld所需要的jar包

    spring笔记一helloworld,只是我学习spring框架,建立的第一个工程文件,导入的jar包,我的第一个spring- helloworld

    Spring笔记之整合JdbcTemplate.doc

    spring提供了一个工具类JdbcTemplate,在类中对JDBC增删改查做了封装 JdbcTemplate: Spring 框架中提供一个ORM技术,对JDBC进行了封装 类似于我们之前的mybatis框架,对数据库做增删改查操作的 学习目标:了解该技术...

    Spring_IoC入门笔记.md

    依赖关系的维护:就称之为依赖注入 依赖注入: 注入方式:有三种 第一种:使用构造函数提供(创建对象时,必须提供数据,否则无法创建成功) 使用的标签:constructor-arg 标签出现的位置:bean标签的内部 标签...

    Spring2.0精简笔记

    此文档适用于初学者,初学者不必再为学习spring而做另一份笔记,借此以足够。

    JAVA学习笔记—良哥哥的作品

    很多方法! 特别适合初学者 JAVA . 作者:林信良(网络化名良葛格) 学历:台湾大学电机工程学系 经历:SUN教育训练中心讲师 著作:《JAVA 学习笔记》、《Spring 技术手册》,为SUN官方教材主要编写成员之一

Global site tag (gtag.js) - Google Analytics