• 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.
  • 相关阅读:
    css文本垂直水平居中
    如何通过eclipse查看、阅读hadoop2.4源码
    hadoop、storm和spark的区别、比较
    Spark学习体系整理(基础篇、中级篇、高级篇所涉及内容)
    scala class和object,trait的区别
    Scala的=>作用
    [Scala函数特性系列]——按名称传递参数
    Python读写文件
    如何向map和reduce脚本传递参数,加载文件和目录
    Java中字符串中子串的查找共有四种方法(indexof())
  • 原文地址:https://www.cnblogs.com/davidwang456/p/5555453.html
Copyright © 2020-2023  润新知