Spring学习笔记一

Spring 的核心是轻量级的容器,它实现了IoC 容器、非侵入性的框架,并提供AOP 概念的实现方式,提供对持久层、事务的支持,提供MVC Web 框架的实现,并对一些常用的企业服务A PI提供一致的模型封装,是一个全方位的应用程序框架,另外,Spring 也提供了对现有框架(StrutsJSFHibernate 等)的整合方案。

.IOC依赖注入:

Spring通过在xml文件中配置<bean />标签来设置相应的bean,然后可以在程序中使用ApplicationContext借口来读取已经配置的bean,并且可以在xml中配置注入方式来实现IOC(依赖注入):

 

上面就在xml配置了一个bean,并且使用set方法注入两个属性userName,salary.在程序中可以使用:

 

< bean  id ="HelloBean"  class ="helloWorld.HelloBean" >

< property  name ="userName" >

              
< value > 猪头镁镁 </ value >

       
</ property >

       
< property  name ="salary"  value ="95271" ></ property >

</ bean >

      

 

来获得 HelloBean, 里面的两个属性已经通过 spring ioc 设置 , 可以直接使用 .

 

ApplicationContext ac  =   new  ClassPathXmlApplicationContext( " helloWorld/applicationContext.xml " );

HelloBean hb 
=  (HelloBean) ac.getBean( " HelloBean " );

      

       xml,如果要注入list,map,set以及proerties对象,则可以使用以下标签:

List:

 

 

< property  name ="slist" >

       
< list >

              
< ref  local ="Student"   />

              
< ref  local ="Student"   />

              
< ref  local ="Student1"   />

       
</ list >

</ property >

Map:

< property  name ="smap" >

       
< map >

              
< entry >

                     
< key >

                            
< ref  local ="Student"   />

                     
</ key >

                     
< value > 第一个 </ value >

              
</ entry >

              
< entry >

                     
< key >

                            
< ref  local ="Student1"   />

                     
</ key >

                     
< value > 第二个 </ value >

              
</ entry >

       
</ map >

</ property >

 

 

Set:

 

< property  name ="sset" >

       
< set >

              
< ref  local ="Student"   />

              
< ref  local ="Student"   />

              
< ref  local ="Student1"   />

       
</ set >

</ property >

Properties:

< property  name ="sp" >

       
< props >

              
< prop  key ="1" > 2 </ prop >

              
< prop  key ="2" > 3 </ prop >

       
</ props >

</ property >

 

 

       在定义 bean 标签的时候 , 还可以指定 init-method=”bean类中的某个方法名,他将会在bean的属性被注入以后调用,可以在里面检查值是否正确或者修改属性值.

 

       Spring还提供了多个接口来方便使用者在bean加载完成之后(之前)来完成一系列的动作:

BeanFactoryPostProcessor:

       postProcessBeanFactory:

              bean工厂工作之前调用,这里可以读取到有关xml中定义的bean的信息,如定义的bean的个数等.

BeanPostProcessor:

       postProcessAfterInitialization:

在调用init-method之后调用的回调方法,方法必须返回参数中传入的经过修改的bean对象.

    postProcessBeforeInitialization:

在调用init-method之前调用的回调方法,方法必须返回参数中传入的经过修改的bean对象.

PropertyEditorSupport:

       setAsText等各个setAs方法:

              在设置属性值之前调用,用来对值进行加工处理(比如大小写等),处理完毕以后必须调用setValue()方法把修改过的值传回去.

以上方法都只需要在xml中以普通bean的方式声明即可,spring会自动对所有bean运用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值