Spring MVC获取ApplicationContext
来源:互联网 发布:eve1200炮数据 编辑:程序博客网 时间:2024/05/29 02:27
Spring MVC获取ApplicationContext
获得了ApplicationContext你就可以根据bean名字去获取相应的bean.啥也不说了,直接上代码:
package com.cloume.tmcp.configuration;import java.io.Serializable;import java.util.List;import org.springframework.beans.BeansException;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.data.mongodb.core.MongoTemplate;import org.springframework.data.mongodb.core.query.Criteria;import org.springframework.data.mongodb.core.query.Query;import org.springframework.security.access.PermissionEvaluator;import org.springframework.security.core.Authentication;import org.springframework.security.core.userdetails.UserDetails;import org.springframework.stereotype.Component;import org.springframework.web.context.support.WebApplicationObjectSupport;@Component@EnableAutoConfigurationpublic class YourClass implements ApplicationContextAware{ //注意是static的 private static ApplicationContext applicationContext; public boolean getMongoData() { MongoTemplate mongoTemplate = (MongoTemplate)applicationContext.getBean("mongoTemplate", MongoTemplate.class); Data data = mongoTemplate.findOne(Query.query(Criteria.where("username").is(username)), Data.class); return data; } /** * Spring启动的时候会自动调用下面的方法设置ApplicationContext的值 */ @Override public void setApplicationContext(ApplicationContext ctx) throws BeansException { applicationContext = ctx; }}
上面是直接使用当前类实现ApplicationContextAware接口的,下面提供一个单例模式的SpringContextUtil
,将这个类放到你的工程中去,需要的时候直接调用就可以了。
package org.company.xxx;import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; /** * * 获取spring容器,以访问容器中定义的其他bean */public class SpringContextUtil implements ApplicationContextAware { // Spring应用上下文环境 private static ApplicationContext applicationContext; /** * 实现ApplicationContextAware接口的回调方法,设置上下文环境 * * @param applicationContext */ public void setApplicationContext(ApplicationContext applicationContext) { SpringContextUtil.applicationContext = applicationContext; } /** * @return ApplicationContext */ public static ApplicationContext getApplicationContext() { return applicationContext; } /** * 获取对象 * 这里重写了bean方法,起主要作用 * @param name * @return Object 一个以所给名字注册的bean的实例 * @throws BeansException */ public static Object getBean(String name) throws BeansException { return applicationContext.getBean(name); }}
使用方法:MongoTemplate mongoTemplate = (MongoTemplate)SpringContextUtil.getBean("mongoTemplate"); //bean的名称
1 0
- Spring MVC获取ApplicationContext
- Spring获取ApplicationContext
- spring获取ApplicationContext
- 获取spring ApplicationContext
- spring 获取上下文applicationContext
- 怎么获取Spring的ApplicationContext
- 怎么获取Spring的ApplicationContext
- Spring +quartz获取ApplicationContext上下文
- spring 获取 ApplicationContext的方法
- Spring Bean获取applicationcontext方法
- Spring获取ApplicationContext的方法
- Spring,通过ApplicationContextAware获取ApplicationContext
- 获取Spring上下文即ApplicationContext
- spring mvc 下 applicationContext 和webApplicationContext
- spring mvc 下 applicationContext 和webApplicationContext
- Spring MVC那些事之ApplicationContext使用
- spring-mvc.xml/applicationContext.xml 默认内容
- spring ApplicationContext-mvc之<mvc:annotation-driven />初探
- service
- Apache-dbutils 简介及事务处理
- 解决 googel 无法直接跳转网页打开搜索结果
- 移动端破解TLS加密的数据的设计思路
- 画虚线
- Spring MVC获取ApplicationContext
- AYITACM2016省赛第三周 L - Anniversary party(树形dp)
- Apue学习:File I/O
- Android ORMLite 框架的入门用法
- ubuntu一些基本软件安装方法
- c++ 链接mysql:error LNK2019: 无法解析的外部符号
- 近期工作中遇到的问题及其解决办法
- WIN7更改用户名访问共享文件夹
- log4j.properties 详解与配置步骤