Spring学习笔记

今天开始重新学习Spring,学习笔记纪录于此。

 

第一部分,IoC容器

1.IoC(Inversion of Control)反转注入是Spring的核心部分,意在通过配置管理系统中运行的Java Bean,包括管理Bean的生命周期,实现系统组建之间的松耦合。

2.ApplicationContext是BeanFactory的父类,在原本BeanFactory的基础上增加了AOP的集成、国际化(I18N)、事件处理、系统层上下文控制等功能。

3.ApplicationContext有多种配置方式,最常用也是最流行的方式是使用xml文件进行配置,例如

 

ApplicationContext context = new ClassPathXmlApplicationContext("bean-service.xml");
BeanFactory factory = (BeanFactory)context;
Object obj = factory.getBean("kingswood.spring.test.service.UserService");

 

 

4.在实际的开发中,我们可以定义多个Bean配置文件,然后将这些文件统一导入到一个配置文件中,这个功能在分模块开发和团队协作中非常方便。

 

<beans>
    <import resource="services.xml"/>
    <import resource="resources/messageSource.xml"/>
    <import resource="/resources/themeSource.xml"/>
    <bean id="bean1" class="..."/>
    <bean id="bean2" class="..."/>
</beans>


5.我们可以为Bean设置别名,在代码调用中,只需要输入别名就可以查找到响应的JavaBean,例如

 

 

<alias name="kingswood.spring.test.service.UserService" alias="userService"/>

6.如果一个Bean的初始化过程需要使用到另外一个Class,则需要将这个Class注入进来,如

 

<bean id="kingswood.spring.test.service.IUserService" class="kingswood.spring.test.service.UserService">
	<constructor-arg>
		<bean class="kingswood.spring.test.service.PrivilegeService"></bean>
	</constructor-arg>
</bean>


7.当Bean的构造函数存在一个或多个常量参数时,可以在配置文件中定义参数值,如

 

 

<bean id="kingswood.spring.test.service.IGroupService" class="kingswood.spring.test.service.GroupService">
	<constructor-arg type="int" value="25" />
	<constructor-arg type="java.lang.String" value="Kingswood" />
</bean>

8.我们可以i定义一个Bean的初始化方法和销毁方法,如

 

<bean id="kingswood.spring.test.service.SingletonService" class="kingswood.spring.test.service.SingletonService"
		lazy-init="false" init-method="setup" destroy-method="cleanUp"></bean>


我们也可以在Beans节点上设置所有Bean的Init和Destroy方法,如

 

 

<beans default-init-method="init">

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值