`
jsjxqjy
  • 浏览: 116477 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

在项目中获取Spring的Bean的几种方式

阅读更多

1.  方式一 通过Spring提供的工具类获取ApplicationContext对象

org.springframework.context.ApplicationContext ac2 = org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
		Person Person= (Person) ac2.getBean("Person");
		Person.printStr();

 

这个方式,我们最主要是得到 javax.servlet.ServletContext 对象

如果这个对象在servlet 环境中当然很好得,如果不是的,那我就需要创造这个环境,java B/S项目,只有在web容器中

我们就有办法做到 :

 

看下面的:

 

我需要在spring的bean中直接获取,这下可和我们常规的操作有些不同,因为spring的bean都是pojo的。根本见不着servletconfig和servletcontext的影子。 
这里我需要指出spring给我们提供了两个接口:org.springframework.web.context.ServletContextAware和 
org.springframework.web.context.ServletConfigAware。我们可以让我们的bean实现上边的任何一个接口就能获取到servletContext了 . 
代码如下:
public class DicBean implements ServletContextAware{
    
private ServletContext servletContext;

public void setServletContext(ServletContext sc) {
    this.servletContext=sc;
    System.out.println("项目的绝对路径为:"+servletContext.getRealPath("/"));
}
}

 

如果在struts2的action中,我们也可以用下面的:

 

javax.servlet.ServletContext servletContext =  org.apache.struts2.ServletActionContext.getServletContext();

 

 

2.方式二  很直接

 

 

//以
		org.springframework.core.io.ClassPathResource isr  = new ClassPathResource("applicationContext.xml");
		XmlBeanFactory factory = new XmlBeanFactory(isr);
		Person Person= (Person) factory.getBean("Person");
		Person.printStr();

 

3.试下

 

在初始化时保存ApplicationContext对象 
代码:
ApplicationContext ac = new FileSystemXmlApplicationContex("applicationContext.xml");
    ac.getBean("beanId");
    说明:
    这种方式适用于采用Spring框架的独立应用程序,需要程序通过配置文件手工初始化Spring的情况。

 

 

分享到:
评论

相关推荐

    Spring在代码中获取bean的几种方式.rar

    Spring在代码中获取bean的几种方式.rar

    Java获取Bean的几种方式.pdf

    介绍了Java获取Bean容器的几种常见调用方式,其中详细写出了如何实现ApplicationContextAware 接口来获取Bean容器的工具类

    几种spring获取bean的方法.txt

    几种spring获取bean的方法,包含实现的代码,非常详细哦!!!!

    Spring在代码中获取bean的几种方式详解

    主要介绍了Spring在代码中获取bean的几种方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Spring在代码中获取bean的方法小结

    在工作中有时候我们需要在非spring依赖注入或管理的类中获取service、dao等bean对象,这时候用@Autowired和@Resource显然是不行的,那么下面这篇文章就给大家了整理几种获取bean的方式,对大家的学习和工作具有一定...

    Spring_Framework_ API_5.0.5 (CHM格式)

    在此期间,大多数增强都是在 SpringBoot 项目中完成的。在本文中,我们将很快了解到Spring5发行版中的一些令人兴奋的特性。 1. 基准升级 要构建和运行 Spring5 应用程序,你至少需要 J2EE7 和 JDK8。以前的 JDK 和...

    Spring in Action(第二版 中文高清版).part2

    16.4.3 在JSF页面中使用Spring Bean 16.4.4 在JSF中暴露应用程序环境 16.5 Spring中带有DWR的支持Ajax的应用程序 16.5.1 直接Web远程控制 16.5.2 访问Spring管理的Bean DWR 16.6 小结 附录A 装配Spring A.1 ...

    Spring in Action(第二版 中文高清版).part1

    16.4.3 在JSF页面中使用Spring Bean 16.4.4 在JSF中暴露应用程序环境 16.5 Spring中带有DWR的支持Ajax的应用程序 16.5.1 直接Web远程控制 16.5.2 访问Spring管理的Bean DWR 16.6 小结 附录A 装配Spring A.1 ...

    Spring in Action(第2版)中文版

    16.4.3在jsf页面中使用springbean 16.4.4在jsf中暴露应用程序环境 16.5spring中带有dwr的支持ajax的应用程序 16.5.1直接web远程控制 16.5.2访问spring管理的beandwr 16.6小结 附录a装配spring a.1下载spring ...

    ssh(structs,spring,hibernate)框架中的上传下载

     文件数据存储在Blob类型的FILE_CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的...

    springmybatis

    查询出列表,也就是返回list, 在我们这个例子中也就是 List<User> , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的 ...

    java面试宝典

    201、你在项目中用到了xml技术的哪些方面?如何实现的? 48 202、用jdom解析xml文件时如何解决中文问题?如何解析? 48 203、编程用JAVA解析XML的方式. 49 204、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的...

    千方百计笔试题大全

    201、你在项目中用到了xml技术的哪些方面?如何实现的? 48 202、用jdom解析xml文件时如何解决中文问题?如何解析? 48 203、编程用JAVA解析XML的方式. 49 204、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的...

    java面试题

    73.8. transaction有那几种实现(事务处理)(Spring) 79 73.9. Spring IoC 79 73.10. Spring AOP面向方面编程 82 74. 项目中为什么使用SSH 85 75. Spring在SSH中的作用 86 76. weblogic 86 76.1. 如何给weblogic指定...

    Java常见面试题208道.docx

    96.spring 支持几种 bean 的作用域? 97.spring 自动装配 bean 有哪些方式? 98.spring 事务实现方式有哪些? 99.说一下 spring 的事务隔离? 100.说一下 spring mvc 运行流程? 101.spring mvc 有哪些组件? 102.@...

    eclipse安卓开发必备工具

    我一直以为类的私有构造函数、属性、方法除了类自身其他类是无法访问的,前几天正好学习Spring框架,在学习Spring框架基础 Bean包时,写了一个简单的例子,类似如下: package study.spring.bean; public class ...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    随着博客人数的增加, Blog 作为一种新的生活方式、新的工作方式、新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构:网络信息不再是虚假不可验证的,交流和沟通更有明确的选择和方向性,单一...

    JAVA上百实例源码以及开源项目源代码

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

Global site tag (gtag.js) - Google Analytics