Spring学习笔记一

本文介绍了Spring框架的核心特性——依赖注入(IOC),展示了如何通过XML配置文件来管理对象及其依赖关系,包括基本属性注入、集合类型注入及初始化方法的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,里面的两个属性已经通过springioc设置,可以直接使用.

 

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、付费专栏及课程。

余额充值