*.hl_mark_KMSmartTagPinkImg{background-color:#ffaaff;}*.hl_mark_KMSmartTagBlueImg{background-color:#99ccff;}*.hl_mark_KMSmartTagYellowImg{background-color:#ffff66;}*.hl_mark_KMSmartTagOrangeImg{background-color:#ffad5b;}*.hl_mark_KMSmartTagGreenImg{background-color:#84e384;}*.hl_mark_KMSmartTagPurpleImg{background-color:#d6acff;}*.hl_mark_KMSmartTagRedImg{background-color:#ff8888;}

.wiz-todo, .wiz-todo-img {width: 16px; height: 16px; cursor: default; padding: 0 10px 0 2px; vertical-align: -7%;-webkit-user-select: none;} .wiz-todo-label { line-height: 2.5;} .wiz-todo-label-checked { color: #666;} .wiz-todo-label-unchecked {text-decoration: initial;} .wiz-todo-completed-info {padding-left: 44px; display: inline-block; } .wiz-todo-avatar { width:20px; height: 20px; vertical-align: -20%; margin-right:10px; border-radius: 2px;} .wiz-todo-account, .wiz-todo-dt { color: #666; }

让bean获取spring容器(applicationContext.xml)

一、继承

ApplicationContextAware接口

只需要让java类继承

ApplicationContextAware 接口,并实现方法setApplicationContext,

即可获取spring容器自身 ;


Person.java

  1. package org.crazyit.app.service;
  2. import org.springframework.context.*;
  3. import org.springframework.beans.BeansException;
  4. import java.util.Locale;
  5. public class Person implements ApplicationContextAware
  6. {
  7. // 将BeanFactory容器以成员变量保存
  8. private ApplicationContext ctx;
  9. /* Spring容器会检测容器中所有Bean,如果发现某个Bean实现了ApplicationContextAware接口,
  10. Spring容器会在创建该Bean之后,自动调用该方法,调用该方法时,
  11. 会将容器本身作为参数传给该方法。*/
  12. public void setApplicationContext(ApplicationContext ctx)
  13. throws BeansException
  14. {
  15. this.ctx = ctx;
  16. }
  17. public void sayHi(String name)
  18. {
  19. System.out.println(ctx.getMessage("hello" , new String[]{name}
  20. , Locale.getDefault())); //使用spring容器获取国际化文件中"hello,{0}"
  21. }
  22. }



配置文件beans.xml
在该文件中配置了一个国际化资源文件,message1 ==>message1_zh_CN.properities

  1. <?xml version="1.0" encoding="GBK"?>
  2. <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://www.springframework.org/schema/beans"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
  6. <!-- 加载容器国际化所需要的语言资源文件 -->
  7. <bean id="messageSource"
  8. class="org.springframework.context.support.ResourceBundleMessageSource">
  9. <property name="basenames">
  10. <list>
  11. <value>message1</value>
  12. </list>
  13. </property>
  14. </bean>

  15. <!-- Spring容器会检测容器中所有Bean,如果发现某个Bean实现了
  16. ApplicationContextAware接口,Spring容器会在创建该Bean之后,
  17. 自动调用该Bean的setApplicationContext()方法,调用该方法时,
  18. 会将容器本身作为参数传给该方法。-->
  19. <bean id="person" class="org.crazyit.app.service.Person"/>
  20. </beans>

国际化资源文件



测试代码:SpringTest.java

  1. package lee;
  2. import java.io.*;
  3. import org.springframework.context.*;
  4. import org.springframework.context.support.*;
  5. import org.crazyit.app.service.*;
  6. public class SpringTest
  7. {
  8. public static void main(String[] args)throws Exception
  9. {
  10. ApplicationContext ctx = new
  11. ClassPathXmlApplicationContext("beans.xml");
  12. Person p = ctx.getBean("person" , Person.class);
  13. p.sayHi("孙悟空");
  14. }
  15. }


运行结果:


【Spring学习笔记-3.1】让bean获取spring容器上下文(applicationContext.xml)的更多相关文章

  1. Spring学习笔记(七)模拟实际开发过程的调用过程XML版-Setter方式注入

    模拟实际开发过程的调用过程XML版-Setter方式注入 源码获取github [TOC] 1.项目结构 2.jar包跟上个一样 3.重写set方法 UserServiceImpl.java 1234 ...

  2. spring学习笔记(四)我对spring中bean生命周期的理解

    我相信大部分同学对spring中bean的生命周期都不陌生,但是如果要详细的说出每一个步骤,可能能说出来的也不多,我之前也是这样,前几天调了一下spring的源码,看了一点书,突然一下明朗了,理解了s ...

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

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

  4. Spring学习笔记(7)——Bean的基本配置

            先从IOC说起,这个概念其实是从我们平常new一个对象的对立面来说的,我们平常使用对象的时候,一般都是直接使用关键字类new一个对象,那这样有什么坏处呢?其实很显然的,使用new那么就 ...

  5. Spring学习笔记(三)之装配Bean

    除了组件扫描与自动装配之外还有基于Java代码的装配与基于XML的装配. 有一些场景是我们不能用自动装配的,比如我们要给第三方库中的组件装配到我们的应用中,这时自动装配无效,因为自动装配只能扫描本应用 ...

  6. Spring学习笔记--通过构造方法创建Bean

    如果一个bean没有默认的构造函数,那么可以通过工厂方法来构造一个bean.Spring通过<bean>元素的factory-method属性来装配工厂创建的Bean.下面例子中的Stag ...

  7. Spring 学习笔记(五)—— Bean之间的关系、作用域、自动装配

    继承 Spring提供了配置信息的继承机制,可以通过为<bean>元素指定parent值重用已有的<bean>元素的配置信息. <?xml version="1 ...

  8. Spring学习笔记--初始化和销毁Bean

    可以使用bean的init-method和destroy-method属性来初始化和销毁bean.定义一个Hero类: package com.moonlit.myspring; public cla ...

  9. Spring学习笔记(三):面向切面的Spring

    Spring之面向切面编程 一.理解何为面向切面编程 对于这个的理解,我觉得Spring实战中的例子讲得很明白: 假设我现在是一个小区用户,每个月小区都要收电费,这时候就会来人查看电表,算出来这个月电 ...

随机推荐

  1. css 初始包含块

    continuous media ,paged media 关于continuous media[连续媒体]和paged media[分页媒体] 直白的讲,continuous和paged media ...

  2. selenium(二)查找定位目标 ID XPATH CSS 操作目标

    简介: 我们只打开一个页面是没有什么意义的. 尽管你可以get很多次. selenium可以做的更多,比如找到百度的搜索框,输入我们要搜索的内容,再用鼠标点击搜索按钮,再把搜索结果提取出来…… 这篇文 ...

  3. JavaScript 自定义文本框光标——初级版

    文本框(input或textarea)的光标无法修改样式(除了通过color修改光标颜色).但笔者希望个人创建自己的网站时,文本框的光标有属于自己的风格.所以,尝试模拟文本框的光标,设计有自己风格的光 ...

  4. ACID测试标准

    缩写ACID代表原子性(atomicity).一致性(consistency).孤立性(isolation).持久性(duration) 通过了ACID测试的事物在多线程.并行处理或多用户环境中就是安 ...

  5. Mac OS X 10.9下解决cocos2d-x在Xcode4.6.x的模板不显示问题

    最近将iMac 升级到10.9了,奇怪的事情发生了,cocos2d-x的模板不见了,鼓捣了半天发现问题所在 打开xcode新建工程却找不到cocos2d-x的模板. 经过在网上的苦苦搜寻和试验后,找到 ...

  6. node 常见的一些系统问题

    nodde正风生火起,很多介绍却停留在入门阶段,无法投入生产 许多文章在讲第三方类库,可是这些库质量差距较大,一旦遇到问题怎么办 全面了解node核心才能成为一名合格的node开发人员 1. node ...

  7. Linux:SSH服务配置文件详解

    SSH服务配置文件详解 SSH客户端配置文件 /etc/ssh/ssh——config 配置文件概要 Host * #选项“Host”只对能够匹配后面字串的计算机有效.“*”表示所有的计算机. For ...

  8. magento的必备插件(转)

    标签: 插件 magento magento插件 必备插件 Magento插件 ,插件,我要常见Magento必备插件 .. 都是免费的Magento插件,多而杂,乡亲们自己挑~~ [因收集而强大 & ...

  9. 空格填充器(alignBySpace)

    /******************************************************************* * 空格填充器(alignBySpace) * 声明: * 1 ...

  10. linux shell终端打开方式

    前言 Linux操作系统没有Window操作系统界面友好,使用者需要使用命令与系统进行交互,交互媒介为shell终端. 有三种方式可以打开终端: 方法一: 打开新的窗口并打开shell终端,快捷键:c ...