问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

如何查看 spring注入的bean

发布网友 发布时间:2022-04-21 01:06

我来回答

1个回答

热心网友 时间:2023-08-22 05:45

如何取得Spring管理的bean (请用第3种方法):
1、servlet方式加载时,
【web.xml】
Xml代码
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contExtConfigLocation</param-name>
<param-value>classpath*:/springMVC.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
spring容器放在ServletContext中的key是org.springframework.web.servlet.FrameworkServlet.CONTEXT.springMVC
注意后面的springMVC,是你的servlet-name配置的值,注意适时修改。
Java代码
ServletContext sc=略
WebApplicationContext attr = (WebApplicationContext)sc.getAttribute("org.springframework.web.servlet.FrameworkServlet.CONTEXT.springMVC");

2、listener方式加载时:
【web.xml】
Xml代码
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext</param-value>
</context-param>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
【jsp/servlet】可以这样取得
Java代码
ServletContext context = getServletContext();
WebApplicationContext applicationContext = WebApplicationContextUtils .getWebApplicationContext(context);

3、通用的方法来了,神器啊,前的 1、2两种方法并不通用,可以抛弃了。
在配置文件中加入:
Xml代码
<!-- 用于持有ApplicationContext,可以使用SpringContextHolder.getBean('xxxx')的静态方法得到spring bean对象 -->
<bean class="com.xxxxx.SpringContextHolder" lazy-init="false" />

Java代码
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
* 以静态变量保存Spring ApplicationContext, 可在任何代码任何地方任何时候中取出ApplicaitonContext.
*
*/
public class SpringContextHolder implements ApplicationContextAware {
private static ApplicationContext applicationContext;

/**
* 实现ApplicationContextAware接口的context注入函数, 将其存入静态变量.
*/
public void setApplicationContext(ApplicationContext applicationContext) {
SpringContextHolder.applicationContext = applicationContext; // NOSONAR
}

/**
* 取得存储在静态变量中的ApplicationContext.
*/
public static ApplicationContext getApplicationContext() {
checkApplicationContext();
return applicationContext;
}

/**
* 从静态变量ApplicationContext中取得Bean, 自动转型为所赋值对象的类型.
*/
@SuppressWarnings("unchecked")
public static <T> T getBean(String name) {
checkApplicationContext();
return (T) applicationContext.getBean(name);
}

/**
* 从静态变量ApplicationContext中取得Bean, 自动转型为所赋值对象的类型.
*/
@SuppressWarnings("unchecked")
public static <T> T getBean(Class<T> clazz) {
checkApplicationContext();
return (T) applicationContext.getBeansOfType(clazz);
}

/**
* 清除applicationContext静态变量.
*/
public static void cleanApplicationContext() {
applicationContext = null;
}

private static void checkApplicationContext() {
if (applicationContext == null) {
throw new IllegalStateException("applicaitonContext未注入,请在applicationContext.xml中定义SpringContextHolder");
}
}
}
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
瑞幸咖啡单糖半糖区别 我的华为P20pro 屏幕锁忘记密码了 我看到之前发的通过安全模式解锁是... 不锈钢给水管接头配件有哪些 不锈钢水管接头规格型号 不锈钢水管:规格型号全解析 东北师大赵玉龙教授课题组:2-异氰基苯甲醛的合成应用 对三氟甲氧基苯胺理化性质 儿童拼音学习小孩子学习拼音有什么好方法 如何拼音启蒙?怎样让孩子无痛学会拼音?掌握1个关键3个步骤 我家儿子快上小学了,想教他拼音,你们有好方法吗? 宝宝满月杯子刻字刻什么好宝宝满月杯子刻字刻哪些好呢 采用spring注解后如何注入bean问题 急急急:Java普通工具类获取Spring中注入bean时偶尔发生异常 spring中哪些类需要作为bean来进行注入管理 spring 用哪种方式注入bean好 spring 如何用注解的方式给普通类注入bean spring在多线程中怎么注入bean 如何调用spring配置文件手动注入的bean spring的bean注入属性有哪几种方式 spring 普通类 怎么注入bean spring注入bean的几种方式 word表格文字上下居中怎么弄 word中的表格文字怎么上下居中 word表格里文字如何上下居中 word表格上下居中怎么弄 word表格文字上下居中怎么设置 如何使word表格中的文字上下居中 word表格怎样让文字上下居中 如何让word表格中的文字上下居中 word表格里的字怎么上下居中 word里的表格怎么调整文字上下居中 如何用spring获取bean 如何取得Spring管理的bean spring 中怎么取得bean 如何通过spring的配置文件得到bean对象 spring配置bean实例化有哪些方式 关于Spring注入,静态工具类怎么注入属性 谁知道Spring获取Bean的几种方式 红外测距仪有什么特点? 测距仪主要是通过什么实现的? 苹果手机里的号码怎么导入安卓手机 怎么从苹果手机导出电话号码到安卓手机 怎么将苹果手机里的电话号码导入安卓手机 苹果手机如何导入电话号码 苹果手机电话号码怎么弄到安装手机上 怎么使用短信辅助验证? 请使用手机号发送短信验证,怎么用手机号验证? 怎样给10690510295102发送短信验证 如何发短信获取验证码? 怎样发送短信验证 如何发短信获取验证码
  • 焦点

最新推荐

猜你喜欢

热门推荐