• 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.
  • 相关阅读:
    WEB-INF下的jsp通过servlet中超链接跳转
    WEB-INF下的jsp怎么访问
    迭代器一般用法
    接口深层理解
    java中的接口深层理解
    动态SQL与静态SQL的区别
    TIDB集群部署
    ora-00245报错解决方法
    PostgreSQL 密码验证功能增强
    多台机器之间一键化互信脚本实现
  • 原文地址:https://www.cnblogs.com/davidwang456/p/5555453.html
Copyright © 2020-2023  润新知