zoukankan      html  css  js  c++  java
  • spring 获取bean的几种方式

      1.读取xml文件的方式,这种在初学入门的时候比较适用 。

        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:tt.xml");

        ApplicationContext applicationContext = new FileSystemXmlApplicationContext("classpath:tt.xml");

      2.继承spring的Aware类,覆盖方法实现获取上下文,从上下文中获取。

      

        2.1.继承自抽象类ApplicationObjectSupport
        说明:抽象类ApplicationObjectSupport提供getApplicationContext()方法,可以方便的获取到ApplicationContext。
        Spring初始化时,会通过该抽象类的setApplicationContext(ApplicationContext context)方法将ApplicationContext 对象注入。

        2.2:继承自抽象类WebApplicationObjectSupport
        说明:类似上面方法,调用getWebApplicationContext()获取WebApplicationContext

        2.3:实现接口ApplicationContextAware
         说明:实现该接口的setApplicationContext(ApplicationContext context)方法,并保存ApplicationContext 对象。
        Spring初始化时,会通过该方法将ApplicationContext对象注入。

    private static ApplicationContext applicationContext=null;

    @Override

    public void setApplicationContext(ApplicationContext applicationContext)

    throws BeansException {

    this.applicationContext = applicationContext;

     

    }

      3.借助于spring提供的工具类,

        WebApplicationContextUtils.getWebApplicationContext(ServletContext) 需要传入Servletcontext ,

        通常从request中获取req.getSession().getServletContext()。适合于controller或者action中直接获取,但通常会直接@autoWire注入。

      4.适用工具类ContextLoader.getCurrentWebApplicationContext()。这种最简单,用起来最方便,不需要继承,不需要注入,直接使用静态代码。注意一点,在服务器启动时,Spring容器初始化时,不能使用,在应用启动后方可使用。

  • 相关阅读:
    Web开发人员必备工具-Emmet (Zen Coding)
    Zerver是一个C#开发的Nginx+PHP+Mysql+memcached+redis绿色集成开发环境
    jquery 插件站
    数据挖掘项目之---通过对web日志的挖掘来实现内容推荐系统
    类似wordpress的网站模板
    浅谈 SOAP
    在Livemedia的基础上开发自己的流媒体客户端 V 0.01
    模式识别之分类器knn---c语言实现带训练数据---反余弦匹配
    多项式相乘快速算法原理及相应C代码实现---用到fft
    模式识别之基础---常用分类算法特性归纳
  • 原文地址:https://www.cnblogs.com/luoluoshidafu/p/5659574.html
Copyright © 2011-2022 走看看