Aware相关的接口
来源:互联网 发布:阿里云服务器 ftp 编辑:程序博客网 时间:2024/05/16 05:55
Aware相关的接口:必是在Spring实例化Bean之前进行相关的调用。
BeanNameAware:表示在Spring实例化Bean之前进行调用就是刚刚创建ApplicationContext实例的时候调用的方法:具体的使用方法是:
public class HelloBean implements BeanNameAware {
private String name;
//setBeanName是在创建ApplicationContext的时候调用的方法
public void setBeanName(String arg0) {
System.out.println(arg0);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
ApplicationContext.xml中的配置是:(直接编写一个Bean就可以了)
<bean id="hello" class="org.sqs.Sprng.demo08.HelloBean">
<property name="name">
<value>小宋</value>
</property>
</bean>
编写的测试类是:
public class TestDemo08 {
public static void main(String args[])
{
ApplicationContext context = context = new ClassPathXmlApplicationContext("applicationContext.xml");
// HelloBean hb = (HelloBean)context.getBean("hello");
}
}
结果很明显就只是打印出了一个“hello”!而不是打印“小宋”!!
ApplicationContextAware接口:是在Bean初始化之后,ApplicationContext.xml实例被注入将被调用setApplicationContext(ApplicationContext arg0) 方法!!
具体的代码是:
首先是Bean类:
package org.sqs.Sprng.demo09;
imp
imp
imp
public class HelloBean implements ApplicationContextAware {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//是在Bean生成之后,在ApplicationContext实例注入时执行的方法
public void setApplicationContext(ApplicationContext arg0)
throws BeansException {
HelloBean hb = (HelloBean) arg0.getBean("hello");
System.out.println("内部打印-->"+hb.getName());
}
}
配置文件是:
<bean id="hello" class="org.sqs.Sprng.demo09.HelloBean">
<property name="name">
<value>小宋</value>
</property>
</bean>
测试类是:
package org.sqs.Sprng.demo09;
imp
imp
public class TestDemo09 {
public static void main(String args[])
{
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
}
}
程序最后的打印结果是:内部打印-->小宋
则说明了实现ApplicationContextAware接口之后,其中的方法是在ApplicationContext实例注入时候执行的方法!
在Spring中也提供了一系列的消息的支持:
ApplicationContext类继承了MessageSource类:
首先先要在配置文件中写入一个bean节点:
<bean id="messages" color="#0000ff">org.springframework.context.support.ResourceBundleMessageSource
<property name="basenames">
<value>messages</value>
</property>
</bean>
写一个资源文件名称为messages_en_US.properties 一定要注意文件的扩展名
一定要找到并找准下滑线所指定得到那个包!
测试类是:
package org.sqs.Sprng.demo10;
imp
imp
imp
public class SpringDemo10 {
public static void main(String args[]){
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//写一个对象数组并初始化:
Object arg[] = new Object[]{"xiaosong",new Date()};
//用context调用getMessage方法并设置参数:
//userLogin表示是资源文件中的参数名称
//arg表示参数
//Locale是java.util.*包中的类(后面的参数表示是用的中文)(有不同的语言)
String str = context.getMessage("userLogin",arg, Locale.US);
System.out.println(str);
}
}
这样的话就可以读取资源文件中的内容了!
- Aware相关的接口
- spring入门 - Aware相关接口
- spring入门 - Aware相关接口
- Spring aware相关接口 浅析
- Spring入门15 - Aware相关接口
- Spring中提供一些Aware相关接口
- 【Spring学习26】Aware相关接口
- spring为实现Aware接口的自动设置相关属性的操作
- Spring中Aware接口的使用
- spring常用的几个aware bean接口:
- Spring入门(Bean的Aware接口)
- Spring源码学习IOC(7):浅析aware相关接口
- spring aware的使用;spring aware 各种接口的作用解析
- 几个Aware接口
- spring-aware接口
- spring-Aware接口
- Spring Bean--Aware接口
- Spirng Aware接口实现
- 互联网经济:2014十大年度人物
- JAVA 代码
- linux高级工具命令(三)使用gprof和oprofile查找性能瓶颈
- HTTP消息头字段
- php 文件上传 测试过程
- Aware相关的接口
- boost::any( 能存放任何类型的数据)原理
- 索引
- Android自定义控件——自定义属性
- 图结构(五)- 邻接表有向图
- linux 下安装nginx
- java中用jdom 如何创建xml文档/将数据写入XML中
- 【设计模式】-适配器模式(Adapter)
- Ubuntu 12.04下关闭图形界面的相关问题