Spring学习之二
1.初始化和销毁Bean
当实例化一个Bean时,可能需要执行一些初始化操作来确保该Bean处于可用状态。同样地,当不需要Bean时,将其从容器中移除时,我们可能还需要按顺序的执行一些清除工作。
为定义Bean初始化和销毁操作,只需要使用init-method和destroy-method参数来配置<bean>元素。
首先定义两个方法
public class Test{
    public void hello1(){
    }
    public void hello2(){
    }
}
配置Bean
<bean class="Test" init-method="hello1" destroy-method="hello2"> </bean>
上述配置后,Test Bean在实例化后立即调用hello1()方法。在该Bean从容器移除或销毁前,会调用hello2()方法。
如果在上下文定义的很多Bean拥有相同的初始化方法和销毁方法,这时候没有必要为每一个<bean>声明init-method和destroy-method属性。可以使用<beans>元素的default-init-method和default-destroy-method属性
2.注入属性
<properties>标签
为了不和其他类公用一个类对象,可以注入内部Bean来解决,内部Bean仅供该对象使用。
3.引用其他Bean
<bean class="Test" init-method="hello1" destroy-method="hello2">
<properties name="propertiesName" value="propertiesValue"/>
<properties name="objectName">
<bean class="OtherClass"/>
</properties>
</bean>
内部Bean没有Id属性。
4.使用Spring的命名空间p装配属性
使用p命名空间需要在Spring配置文件添加如下配置
xmlns:p="http://www.springframework.org/schema/p"
使用p命名空间的配置方式:
<bean class="Test" init-method="hello1" destroy-method="hello2"
p:propertiesName = "value"
p:objectName-ref = "calssName" />
5.装配List、Set、Map和Props属性
6.使用表达式装配属性
上述Bean的装配方式在配置文件中定义好了,但是如果我们为属性装配的值只有在运行期才能知道,可以利用表达式装配。SpEL表达式能通过运行期执行表达式将值装配到Bean的属性或构造器参数中。
Spring学习之二的更多相关文章
- spring 学习(二):spring bean 管理--配置文件和注解混合使用
		spring 学习(二)spring bean 管理--配置文件和注解混合使用 相似的,创建 maven 工程,配置pom.xml 文件,具体可以参考上一篇博文: sprint 学习(一) 然后我们在 ... 
- Spring学习(二)——Spring中的AOP的初步理解[转]
		[前面的话] Spring对我太重要了,做个关于web相关的项目都要使用Spring,每次去看Spring相关的知识,总是感觉一知半解,没有很好的系统去学习一下,现在抽点时间学习一下Spring. ... 
- Spring学习(二)——Spring中的AOP的初步理解
		[前面的话] Spring对我太重要了,做个关于web相关的项目都要使用Spring,每次去看Spring相关的知识,总是感觉一知半解,没有很好的系统去学习一下,现在抽点时间学习一下Spring.不知 ... 
- Spring学习笔记(二)之装配Bean
		一,介绍Bean的装配机制 在Spring中,容器负责对象的创建并通过DI来协调对象之间的关系.但是我们要告诉Spring创建哪些Bean并且如何将其装配在一起.,装配wiring就是DI依赖注入的本 ... 
- Spring学习(二)
		1. AOP的思想(如何实现),AOP在哪些地方使用? 相关术语有哪些? AOP是面向切面编程,它是一种编程思想,采取横向抽取机制,取代了传统纵向继承体系重复性代码的方式 应用场景有: 记录日志 监控 ... 
- Spring学习记录(二)---容器和bean属性配置
		下载spring包,在eclipse搭建spring环境. 这步我在eclipse中无法导入包,看网上的: http://sishuok.(和谐)com/forum/blogPost/list/242 ... 
- Spring学习总结二——SpringIOC容器二
		一:指定bean的依赖关系 例如examplebean对象依赖examplebean1对象,那么在创建examplebean对象之前就 需要先创建examplebean1对象. 1:创建Example ... 
- spring学习总结二-----面向切面编程(AOP)思想
		上一篇spring博客简总结了spring控制反转和依赖注入的相关思想知识点,这篇博文对spring的面向切的编程思想进行简单的梳理和总结. 一.面向切面的思想 与面向对象的纵向关系概念不同,面向切面 ... 
- spring学习笔记二 注解及AOP
		本节需要导入spring-aop包 注解 使用注解的目的是为了代替配置,在使用注解时,省略键时,则是为value赋值. 扫描某个包下的所有类中的注解 <?xml version="1. ... 
- spring学习(二)---依赖注入
		spring第二个特性是依赖注入. 学习依赖注入,首先应该明白两个问题:1,谁依赖谁:2,谁注入,注入什么? 首先还是看代码: 还是这个bean: package testSpring.busines ... 
随机推荐
- [bzoj1706] [usaco2007 Nov]relays 奶牛接力跑
			大概是叫倍增Floyd? 显然最多200个点...f[i][j][k]表示从j到k,走2^i步的最小路程.就随便转移了.. 查询的话就是把n二进制位上是1的那些都并起来. #include<cs ... 
- codeforces 746C 模拟
			C. Tram time limit per test 1 second memory limit per test 256 megabytes input standard input output ... 
- list容器的C++代码实现
			#include <iostream> using namespace std; template <class T> class mylist;//前置声明 templat ... 
- Linux系统常用命令权威指南
			<一>线上查询及帮助命令(2)1.man man [选项] [命令] 查看命令帮助,命令的词典,更复杂的还有info,但不常用. #man cd-a 显示所有的手册页,不只是显示第一个-f ... 
- Git分支管理及常见操作
			众所周知,使用Git分支,我们可以从开发主线上分离开来,然后在不影响主线的同时继续工作. 既然要使用Git分支,这里就涉及到Git分支的管理及常见操作,如列出分支,分支的创建,分支的删除,分支的合并等 ... 
- Core Animation 文档翻译(第三篇)
			Core Animation 文档翻译(第三篇) 设置Layer对象 当我们使用核心动画时,Layer对象是一切的核心.Layers 管理我们APP的可视化content,Layer也提供了conte ... 
- keepalived VS zookeeper
			转载请标明出处http://www.cnblogs.com/haozhengfei/p/e3db73cb83afb213a3bff43a850d56c4.html keepalived VS zook ... 
- Visual SVN Server启动失败0x8007042a错误
			载. 今天在程序VisualSVNServer界面中启动服务时,报错如下: VisualSVNServerServer service failed to start:服务已返回特定的服务 ... 
- Python系列之入门篇——MYSQL
			Python系列之入门篇--MYSQL 简介 python提供了两种mysql api, 一是MySQL-python(不支持python3),二是PyMYSQL(支持python2和python3) ... 
- Django之Model组件
			Model组件在django基础篇就已经提到过了,本章介绍更多高级部分. 一.回顾 1.定义表(类) ##单表 from django.db import models class user(mode ... 
