普通Java类获取Spring的Bean的方法

在SSH集成的前提下。某些情况我们需要在Action以外的类中来获得Spring所管理的Service对象。

之前我在网上找了好几好久都没有找到合适的方法。例如:

ApplicationContext context = new ClassPathXmlApplicationContext();

当时我觉得没有这个必要,浪费内存。后来我终于想出了一个解决方法。在此拿来给大家参考下,希望对大家有帮助。

1.创建一个类并让其实现org.springframework.context.ApplicationContextAware接口来让Spring在启动的时候为我们注入ApplicationContext对象.

示例代码:

view plaincopy to clipboardprint?

import org.springframework.beans.BeansException;

import org.springframework.context.ApplicationContext;

import org.springframework.context.ApplicationContextAware;

public class MyApplicationContextUtil implements ApplicationContextAware {

private static ApplicationContext context;//声明一个静态变量保存

public void setApplicationContext(ApplicationContext contex)

throws BeansException {

this.context=contex;

}

public static ApplicationContext getContext(){

return context;

}

2.在applicationContext.xml文件中配置此bean,以便让Spring启动时自动为我们注入ApplicationContext对象.

例:

3.有了这个ApplicationContext之后我们就可以调用其getBean("beanName")方法来得到由Spring 管理所有对象.

java spring获取bean_普通Java类获取Spring的Bean的方法相关推荐

  1. 【JetPack】ViewBinding 视图绑定组件 ( 启用模块 | 视图绑定定制 | 绑定类名称生成规则 | 绑定类字段生成规则 | 绑定类获取根视图 | 绑定类获取布局组件 )

    文章目录 I . 视图绑定组件简介 II . 视图绑定 ViewBinding 使用前提 ( Android Studio 3.6 ) III . 视图绑定组件启用 IV . 定制视图绑定 ( 启用视 ...

  2. java 路径 20,java中得到classpath和当前类的绝对路径的一些方法(路径中的%20进行替换空格)...

    原网址:http://blog.csdn.net/shendl/article/details/1427475 (注意:利用下面方式得到路径,如果路径中有空格字符, 那么会有"%20&quo ...

  3. java中得到classpath和当前类的绝对路径的一些方法(路径中的%20进行替换空格)...

    原网址:http://blog.csdn.net/shendl/article/details/1427475 (注意:利用下面方式得到路径,如果路径中有空格字符, 那么会有"%20&quo ...

  4. Java代码示例: 使用reflections工具类获取某接口下所有的实现类

    pom依赖 <dependency><groupId>org.reflections</groupId><artifactId>reflections& ...

  5. JAVA:事件监听器之Button类中的addActionListener(ActionListener l)方法

    addActionListener public void addActionListener(ActionListener l) 添加指定的动作侦听器,以接收发自此按钮的动作事件.当用户在此按钮上按 ...

  6. java学习(64):类访问私有内部内部类方法

    package com.zx; public class NotebookComputer01{ //定义一个非私有化的变量 private int num; private CPU cpu; //方 ...

  7. java处理高并发高负载类网站的优化方法

    java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF ...

  8. java中的actionlistener_JAVA事件监听器之BUTTON类中的ADDACTIONLISTENER(ACTIONLISTENER L)方法...

    JAVA:事件监听器之Button类中的addActionListener(ActionListener l)方法 addActionListener public void addActionLis ...

  9. spring学习之将类交给spring管理,bean的注入,scope,集合注入,自动装配,生命周期,迟加载

    一.将类交给spring管理(IOC) 1.将类交给spring容器管理 如何将一个类交给spring容器进行管理呢? 方法很简单,只需要在applicationContext.xml中加入对应的xm ...

最新文章

  1. 汉字转换成全拼的拼音
  2. Node.js中package.json中库的版本号详解(^和~区别)
  3. 大型高性能网站的十项规则
  4. 【LeetCode笔记 - 每日一题】334. 递增的三元子序列(Java、偏思路)
  5. python启动c语言gdb,使用gdb调试python程序
  6. ContOS网络连接及简单的ssh Xshell连接!
  7. android ndk 文件管理,Android NDK开发指南(二)Android.mk文件
  8. java jdbc封装_JDBC封装-Java(新手)
  9. 机器人环境感知算法之算法分析阶段
  10. 基于SSH开发在线问卷调查系统
  11. 简单计算机硬件知识ppt,计算机硬件知识教程课件.ppt
  12. 西方文化系列讲座之罗马、基督教文化
  13. 清除逻辑库内的所有数据集
  14. 记录一些 arm64指令的用法
  15. 新来的妹纸 rm -rf 把公司整个数据库删没了,整个项目组慌了~
  16. 北大核刊最新版2020目录_新食品原料目录大全(2020年最新版)
  17. 根据湖底DEM计算湖泊蓄水量
  18. landsat TM数据辐射定标和flaash大气校正
  19. 人间,除了生死,一切都不是事
  20. 增值电信业务经营许可证-仅限互联网信息服务-信息服务业务许可证如何办理,办理流程汇总

热门文章

  1. 为什么python这么慢_为啥 Python 运行速度这么慢 ?
  2. C# 联合查询_c# 之linq——小白入门级
  3. bigsur正式版clover引导_【微信首发】macOS Catalina 10.15.6 19G2021 正式版 Clover/OC/PE三分区原版镜像...
  4. QT每日一练day2:day1优化以及QT内存管理机制
  5. python中typeerror是什么意思_TypeError:在Python中
  6. android-ndk-aide,NDK安装教程20180605
  7. Android 获取联系人的公司,android-如何从设备的联系人列表中获取用户...
  8. 防火墙dhcp服务器性能,F100-A-G 防火墙当做DHCP服务器,下接E528交换机,能不能划分多个VLAN?...
  9. centos安装mysql8_Docker 快速安装 Mysql
  10. 修补工具为什么修不干净_超声波洗不干净牙齿吗?为什么还要喷砂?