需求:在一个类A里调用spring配置的bean,但类A没有配置到sping中。
解决方法:
1、创建“ApplicationContextProvider”类,代码如下:
package context;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/** This class provides an application-wide access to the
* Spring ApplicationContext! The ApplicationContext is
* injected in a static method of the class "AppContext".
* Use AppContext.getApplicationContext() to get access
* to all Spring Beans.
*/
public class ApplicationContextProvider implements ApplicationContextAware {
public void setApplicationContext(ApplicationContext ctx) throws BeansException {
AppContext.setApplicationContext(ctx);
}
}
2、创建“AppContext”类,代码如下:
import org.springframework.context.ApplicationContext;
/** This class provides application-wide access to the Spring ApplicationContext.
* The ApplicationContext is injected by the class "ApplicationContextProvider".
* */
public class AppContext {
private static ApplicationContext ctx;
/** Injected from the class "ApplicationContextProvider" which is automatically
* loaded during Spring-Initialization. */
public static void setApplicationContext(ApplicationContext applicationContext) {
ctx = applicationContext;
}
/** Get access to the Spring ApplicationContext from everywhere in your Application.
* @return
**/
public static ApplicationContext getApplicationContext() {
return ctx;
}
} // .EOF
3、修改applicationContext.xml,增加如下配置
<bean id="contextApplicationContextProvider" class="context.ApplicationContextProvider"></bean>
4、此时就可以在任意地方调用spring中配置的bean.调用方法如下:
ApplicationContext ctx = AppContext.getApplicationContext();
//honey 为配置到spring中的bean的id
Honeypotbean honey = (HoneyPotBean) ctx.getBean("honey");
分享到:
相关推荐
在本文中,我们将深入探讨Spring框架中的Bean XML配置,这是Spring的核心特性之一,它允许我们定义、管理和装配应用中的对象。我们将围绕以下知识点展开: 1. **Spring框架基础**: Spring是一个开源的Java平台,...
本文将围绕“普元EOS-SpringBean开发”这一主题展开讨论,重点讲解SpringBean在普元EOS中的开发与配置流程,以及通过具体案例来深入理解其应用场景。 ### SpringBean开发与配置 #### SpringBean简介 SpringBean是...
在Spring框架中,Bean配置是核心概念之一,它关乎到对象的创建、初始化、装配以及管理。本节我们将深入探讨Spring中的Bean配置,主要聚焦在第三部分,这通常涉及到更高级和灵活的配置方式。 首先,Spring允许我们...
在Spring Boot框架中,普通类调用bean是常见的操作,特别是在构建复杂应用时。这篇博客“17. Spring Boot普通类调用bean【从零开始学Spring Boot】”旨在指导初学者如何在非Spring管理的类中访问和使用Spring容器中...
在Spring框架中,SSH(Spring、Struts、Hibernate)是一种常见的企业级应用开发组合,而Spring作为其中的核心组件,主要用于管理对象的依赖关系和提供控制反转(IoC)以及面向切面编程(AOP)的功能。当我们面临大量...
- **XML配置**:在传统的Spring应用中,Bean的定义通常写在XML配置文件中,如`springbean-xml`中的配置。 - **注解配置**:使用`@Component`,`@Service`,`@Repository`和`@Controller`注解标记类,配合`@...
在本项目中,Spring作为容器,管理着所有Bean的生命周期,通过XML配置文件或Java配置类来定义Bean的创建、初始化、销毁等过程。同时,Spring MVC作为其Web层组件,处理HTTP请求,实现业务逻辑和视图的解耦。 二、...
在Spring容器初始化时,它会根据配置加载Bean的定义,并根据需要创建Bean实例。Bean的生命周期大致分为以下几个阶段:构造、初始化、正常使用、销毁。如果一个Bean被创建了两次,那么可能是在构造或初始化阶段出现了...
2. 配置SqlSessionFactory:在Spring的配置文件中,通过bean定义SqlSessionFactory,通常基于XML配置文件或者Java配置类。 3. 配置MapperScannerConfigurer:用于扫描指定包下的Mapper接口,将其注册为Spring Bean。...
在Java开发领域,Spring框架和MyBatis作为两个极为重要的组件,被广泛应用于企业级应用开发中。Spring以其强大的依赖注入(DI)和面向切面编程(AOP)能力,提供了全面的框架支持;而MyBatis则以其灵活的SQL映射机制...
在Java开发领域,Spring框架以其强大的功能和灵活性,成为了企业级应用的首选。而MyBatis作为一款轻量级的持久层框架,以其直观、灵活的SQL映射机制深受开发者喜爱。当这两者结合在一起时,能够构建出高效且易于维护...
在Java开发领域,Spring框架以其强大的功能和灵活性,成为企业级应用开发的首选。而MyBatis作为一个优秀的持久层框架,以其简洁高效的SQL操作,深受开发者喜爱。当这两个框架结合在一起,能够形成一个既灵活又高效的...
- setter方法注入:通过元素设置的属性,Spring调用相应的setter方法来注入值。 6. Spring的属性注入-注解方式: 随着Spring的发展,注解方式的依赖注入变得越来越流行。通过在类属性上使用@Autowired、@Resource...
MyBatis-Spring 是一个将 MyBatis ORM 框架与 Spring 框架集成的库,旨在简化在 Spring 应用程序中使用 MyBatis 的过程。这个`mybatis-spring-1.0.1-bundle`是官方发布的版本,包含了一个稳定的集成框架,使得开发者...
### Spring的Bean配置详解 #### 一、Spring配置文件根元素`<beans>`解析 - **功能概述**:`<beans>`是Spring配置文件的根...总之,理解和掌握Spring的Bean配置机制对于任何Spring应用程序开发者来说都是非常重要的。
当我们需要在非Spring管理的普通类中调用Spring管理的bean对象时,需要掌握特定的方法。这篇文档将详细介绍如何实现这一操作,并探讨相关的源码和技术工具。 首先,理解Spring的核心概念——依赖注入(Dependency ...
在Spring框架中,Bean的创建和初始化是IoC(Inversion of Control)容器的核心功能,这一过程涉及到多个...Spring的IoC容器使得应用更加灵活和易于测试,因为Bean的依赖关系可以通过配置来调整,而不是硬编码在代码中。
4. 启动服务:最后,启动Spring应用上下文,JAX-WS服务就会监听指定的地址,等待客户端调用。 在Android开发中,虽然JAX-WS并不是首选的Web服务技术(通常使用Retrofit或Volley等现代HTTP库),但理解JAX-WS与...
在实际项目中,开发者会创建一个 SqlSessionFactoryBean,配置数据源和MyBatis的相关配置文件,然后通过 Spring 的 Bean 注册机制将 SqlSessionFactory 注入到需要的地方。 在《spring+mybatis 企业应用实战》的...