zoukankan      html  css  js  c++  java
  • Example of ApplicationContextAware in Spring--转

    原文地址:http://www.concretepage.com/spring/example_applicationcontextaware_spring

    In spring we can get ApplicationContext anywhere in our code with the help of ApplicationContextAware. ApplicationContextAware is the interface and there is only one method setApplicationContext() in it. When a class implements ApplicationContextAware, that class needs to override the setApplicationContext() method. ApplicationContextAware is used for bean lookup purpose and for those objects which needs to access file resources. Find the example below.

    Implement ApplicationContextAware Interface

    ApplicationContextAwareTest.java

    package com.concretepage;
    import org.springframework.beans.BeansException;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;
    public class ApplicationContextAwareTest implements ApplicationContextAware  {
    	ApplicationContext context;
    	public ApplicationContext getContext() {
    		return context;
    	}
    	@Override
    	public void setApplicationContext(ApplicationContext context)
    			throws BeansException {
    		this.context=context;
    	}
    }
     

    Configure Bean

    app-conf.xml

    <beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://www.springframework.org/schema/beans 
      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd ">
      
        <bean id="testA" class="com.concretepage.A"/>
        <bean id="appcontext" class="com.concretepage.ApplicationContextAwareTest"/>
    </beans>


    A.java

    package com.concretepage;
    public class A {
    	public void doTask(){
    		System.out.println("Do some task.");
    	}
    }

    Run Demo

    SpringTest.java

    package com.concretepage;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.AbstractApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    public class SpringTest {
    	public static void main(String[] args) {
    		AbstractApplicationContext  context = new ClassPathXmlApplicationContext("app-conf.xml");
    		ApplicationContextAwareTest appcontext= (ApplicationContextAwareTest)context.getBean("appcontext");
    		ApplicationContext appCon =appcontext.getContext();
    		A a= (A)appCon.getBean("testA");
    		a.doTask();
    		context.registerShutdownHook();
    	}
    }

    Find the output.

    Do some task.
  • 相关阅读:
    Struts2文件上传
    Struts2文件下载
    使用ajax()方法和后台交互
    简单的写数据到txt文件
    JPA初体验(使用Hibernate4实现)
    动态删除ArrayList中的元素
    MySQL5.5.15 源码 cmake 安装
    HeartBeat启动关闭mysqld服务的脚本修改
    MySQL MyISAM 转 Innodb
    2038/01/19 11:14:07 MySQL
  • 原文地址:https://www.cnblogs.com/davidwang456/p/5555453.html
Copyright © 2011-2022 走看看