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学习之二的更多相关文章

  1. spring 学习(二):spring bean 管理--配置文件和注解混合使用

    spring 学习(二)spring bean 管理--配置文件和注解混合使用 相似的,创建 maven 工程,配置pom.xml 文件,具体可以参考上一篇博文: sprint 学习(一) 然后我们在 ...

  2. Spring学习(二)——Spring中的AOP的初步理解[转]

      [前面的话] Spring对我太重要了,做个关于web相关的项目都要使用Spring,每次去看Spring相关的知识,总是感觉一知半解,没有很好的系统去学习一下,现在抽点时间学习一下Spring. ...

  3. Spring学习(二)——Spring中的AOP的初步理解

    [前面的话] Spring对我太重要了,做个关于web相关的项目都要使用Spring,每次去看Spring相关的知识,总是感觉一知半解,没有很好的系统去学习一下,现在抽点时间学习一下Spring.不知 ...

  4. Spring学习笔记(二)之装配Bean

    一,介绍Bean的装配机制 在Spring中,容器负责对象的创建并通过DI来协调对象之间的关系.但是我们要告诉Spring创建哪些Bean并且如何将其装配在一起.,装配wiring就是DI依赖注入的本 ...

  5. Spring学习(二)

    1. AOP的思想(如何实现),AOP在哪些地方使用? 相关术语有哪些? AOP是面向切面编程,它是一种编程思想,采取横向抽取机制,取代了传统纵向继承体系重复性代码的方式 应用场景有: 记录日志 监控 ...

  6. Spring学习记录(二)---容器和bean属性配置

    下载spring包,在eclipse搭建spring环境. 这步我在eclipse中无法导入包,看网上的: http://sishuok.(和谐)com/forum/blogPost/list/242 ...

  7. Spring学习总结二——SpringIOC容器二

    一:指定bean的依赖关系 例如examplebean对象依赖examplebean1对象,那么在创建examplebean对象之前就 需要先创建examplebean1对象. 1:创建Example ...

  8. spring学习总结二-----面向切面编程(AOP)思想

    上一篇spring博客简总结了spring控制反转和依赖注入的相关思想知识点,这篇博文对spring的面向切的编程思想进行简单的梳理和总结. 一.面向切面的思想 与面向对象的纵向关系概念不同,面向切面 ...

  9. spring学习笔记二 注解及AOP

    本节需要导入spring-aop包 注解 使用注解的目的是为了代替配置,在使用注解时,省略键时,则是为value赋值. 扫描某个包下的所有类中的注解 <?xml version="1. ...

  10. spring学习(二)---依赖注入

    spring第二个特性是依赖注入. 学习依赖注入,首先应该明白两个问题:1,谁依赖谁:2,谁注入,注入什么? 首先还是看代码: 还是这个bean: package testSpring.busines ...

随机推荐

  1. vijos 1110小胖邮递员;bzoj 1210: [HNOI2004]邮递员

    Description Smith在P市的邮政局工作,他每天的工作是从邮局出发,到自己所管辖的所有邮筒取信件,然后带回邮局.他所管辖的邮筒非常巧地排成了一个m*n的点阵(点阵中的间距都是相等的).左上 ...

  2. MongoDB基本命令操作

    在上一篇随笔中记录了如何在Centos7上安装MongoDB数据库,这一篇我们就一起来学学基本的操作命令. 安装完成后,shell交互式下输入mongo就可以直接无密码登录到数据库. show dbs ...

  3. 独立成分分析(ICA)的模拟实验(R语言)

    本笔记是ESL14.7节图14.42的模拟过程.第一部分将以ProDenICA法为例试图介绍ICA的整个计算过程:第二部分将比较ProDenICA.FastICA以及KernelICA这种方法,试图重 ...

  4. zookeeper基本讲解及基本命令和配置 (转)

    一.ZooKeeper概述 ZooKeeper是一种为分布式应用所设计的高可用.高性能且一致的开源协调服务,是Google的Chubby一个开源实现,是Hadoop和Hbase的重要组件,它提供了一项 ...

  5. 在echarts3中使用字符云

    echarts2的官方API里是带有字符云的,但到了echarts3就被从官网上移除了,想要使用的话可以从github上下载: 下载地址:https://github.com/ecomfe/echar ...

  6. [国嵌攻略][065][DM9000驱动程序设计]

    移植代码:通过已有的可用的代码修改到新环境下运行. 代码编写: 初始化网卡 1.选中网卡 nLAN_CS BWSCON(0x48000000) DW4:01 16bit BANKCON4(0x4800 ...

  7. linux日志查看命令

    tail tail 命令用于显示文本文件的末尾几行, 对于监控文件日志特别有用 tail example.txt #显示文件 example.txt 的后十行内容: tail -n 20 exampl ...

  8. win7、win10进程pid4占用80端口的解决办法

    https://jingyan.baidu.com/article/7e4409533ffe092fc1e2ef10.html 今天想用wamp架设服务器,但是程序启动不起来,查看系统端口,80端口被 ...

  9. 织梦dedecms中arclist标签下无法嵌套图片

    版权声明:本文为博主原创文章,未经博主允许不得转载. 错误代码: {dede:arclist row=10 orderby=click titlelen=35} [field:title/] {/de ...

  10. 一.初识java

    1.框架结构 2.main方法 3.转义符 public class Dome01 { public static void main(String[] args) {       //main方法, ...