解析Java中如何获取Spring中配置的bean
时间:2023-07-20 13:35:26
一、什么是Spring?
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架
二、如何在程序中获取Spring配置的bean呢?
方法一:在初始化时保存ApplicationContext对象
代码:
ApplicationContext ac = new FileSystemXmlApplicationContex("applicationContext.xml");
ac.getBean("beanId");
说明:这种方式适用于采用Spring框架的独立应用程序,需要程序通过配置文件手工初始化Spring的情况。
方法二:通过Spring提供的工具类获取ApplicationContext对象
代码:
import org.springframework.web.context.support.WebApplicationContextUtils;
ApplicationContext ac1 = WebApplicationContextUtils
.getRequiredWebApplicationContext(ServletContext sc)
ApplicationContext ac2 = WebApplicationContextUtils
.getWebApplicationContext(ServletContext sc)
ac1.getBean("beanId");
ac2.getBean("beanId");
方法三:继承自抽象类ApplicationObjectSupport
说明:抽象类ApplicationObjectSupport提供getApplicationContext()方法,可以方便的获取到ApplicationContext。Spring初始化时,会通过该抽象类的setApplicationContext(ApplicationContext context)方法将ApplicationContext 对象注入。
方法四:继承自抽象类WebApplicationObjectSupport
说明:类似方法三,调用getWebApplicationContext()获取WebApplicationContext
方法五:实现接口ApplicationContextAware
说明:实现该接口的setApplicationContext(ApplicationContext context)方法,并保存ApplicationContext 对象。Spring初始化时,会通过该方法将ApplicationContext 对象注入。
标签:Java,Spring,bean
0
投稿
猜你喜欢
Android转场效果实现示例浅析
2023-09-21 12:10:17
Java Apollo是如何实现配置更新的
2023-09-26 13:55:18
Java使用组合模式实现表示公司组织结构功能示例
2022-07-31 08:03:37
Java异常 Exception类及其子类(实例讲解)
2022-04-05 13:40:16
JAVA中Comparable接口和自定义比较器示例讲解
2023-11-20 22:16:32
springboot+vue制作后台管理系统项目
2022-02-26 06:08:37
java集合Collection常用方法解读
2023-11-16 18:29:07
C#实现简单的RSA非对称加密算法示例
2022-07-09 18:16:37
Mybatis-Spring源码分析图解
2023-07-18 13:35:07
使用JSONObject生成和解析json的方法
2022-06-15 11:13:15
Androd 勇闯高阶性能优化之布局优化篇
2023-01-22 12:12:15
一文快速掌握Spring Cloud Stream
2023-09-01 23:09:38
SpringCloud Gateway HttpWebHandlerAdapter链路调用请求流程介绍
2023-04-29 00:12:18
c# winform时钟的实现代码
2023-04-05 07:40:53
Java简单使用redis-zset实现排行榜
2021-06-07 20:34:54
快速学习C# 设计模式之职责链模式
2022-03-28 17:47:45
c#根据网址抓取网页截屏生成图片的示例
2021-08-31 14:29:13
SpringBoot中shiro过滤器的重写与配置详解
2021-07-28 23:40:09
浅谈log4j的rootLogger及其他坑爹的地方
2023-07-31 02:23:14
C#多线程之线程通讯(AutoResetEvent)
2021-12-26 01:48:55