- import org.springframework.beans.BeansException;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.ApplicationContextAware;
- /**
- * 手动从Spring WebApplicationContext 容器中获得bean
- */
- public class BeanUtils implements ApplicationContextAware {
- private static ApplicationContext applicationContext;
- public static Object getBean(String beanName) {
- return applicationContext.getBean(beanName);
- }
- public static <T> T getBean(String beanName, Class<T> clazs) {
- return clazs.cast(getBean(beanName));
- }
- public void setApplicationContext(ApplicationContext applicationContext)
- throws BeansException {
- BeanUtils.applicationContext = applicationContext;
- }
- }
- 配置文件
- <bean id="beanUtils" class="cn.xxx.util.BeanUtils" />
相关推荐
"Spring在代码中获取bean的几种方式详解" Spring框架是Java应用程序中最流行的框架之一,它提供了许多功能强大且灵活的功能之一就是Bean管理机制。Bean是Spring框架的核心组件,用于管理应用程序中的业务逻辑。在...
在某些特殊情况下,可能需要在Web应用之外手动启动Spring容器,进而获取容器中的bean。这种做法不常见,并且在Web环境中,可能不会推荐使用。但为了完整性,这里也进行一下说明。 在手动启动Spring容器时,可以创建...
在Web应用中,Spring提供了`WebApplicationContextUtils`工具类,可以从`ServletContext`获取`ApplicationContext`。`getRequiredWebApplicationContext()`会抛出异常,如果找不到WebApplicationContext,而`get...
1. **使用Spring的ActionSupport**:Action类直接继承自Spring的ActionSupport,通过`super.getWebApplicationContext()`获取Spring上下文,然后通过`ApplicationContext.getBean()`获取bean。这种方式简单,但...
- Spring Bean的生命周期包括了从创建到销毁的一系列步骤。一般而言,完整的生命周期包含以下步骤: 1. Bean的定义加载。 2. 实例化Bean。 3. 设置Bean属性值。 4. 调用初始化方法(如果定义了的话)。 5. ...
Spring IOC容器是Spring框架的核心,它负责创建对象、装配以及管理这些对象的整个生命周期,从创建到销毁。其核心思想是反转控制(IoC),即控制权由应用代码转移到了Spring容器。 10、什么是依赖注入? 依赖注入...
例如,在上面给出的`SearchSubmit`类中,我们可以通过`getWebApplicationContext()`方法获取到Spring的上下文,进而通过`ctx.getBean("bookService")`获取到名为`bookService`的服务对象。 ### 结论 Spring和...
这样,Struts2在处理请求时会从Spring容器中获取Action实例。 2. **使用Struts2-Spring插件**: - 不需要在Struts2配置文件中显式指定Action类,而是利用插件自动扫描Spring容器中的Bean,找到标记为Action的类...
Spring Test模块是Spring框架的一部分,它提供了一个统一的测试抽象层,用于测试Spring配置和Spring Bean。这个模块包括了JUnit和TestNG的适配器,使得测试可以基于这些流行的测试框架进行。 2. **JUnit集成**: ...
此外,也可以使用 `ApplicationContext` 对象手动获取 Bean。 #### 十八、Spring MVC 多视图控制器 多视图控制器允许一个控制器处理多个视图请求。这可以通过在控制器类中定义多个方法,并分别使用 `@...
- **ContextLoaderListener**:当Web应用启动时,会加载一个或多个Spring配置文件,并创建一个WebApplicationContext。通过这种方式可以实现容器级别的初始化。 - **ContextLoaderServlet**:与...
- 创建 Action 类,继承 `ActionSupport`,并使用 `getWebApplicationContext()` 获取 ApplicationContext,然后通过它来获取 Spring 管理的 Bean。 2. 通过 Spring 的 `DelegatingRequestProcessor` 类 这种方法...
管理 Bean 从第一个 Spring 应用程式开始,逐步了解何谓依赖注入,以及如何使用 Spring 的容器功能来管理 Bean,了解 Bean 在 Spring 容器中的生命周期。 第一个 Spring 程式 BeanFactory、 ...
这样,我们可以通过`WebApplicationContextUtils`工具类的静态方法`getWebApplicationContext(ServletContext)`在Web应用的任何地方获取ApplicationContext对象,无需每次都手动创建。 3. **导入Spring集成Web的...
1. Spring IoC(Inversion of Control)理解:IoC是控制反转,它将对象的创建和管理从代码中分离出来,使得开发者不再需要手动创建和管理对象,而是由Spring容器负责这些工作。 2. Spring DI(Dependency Injection...
- **WebApplicationContext**:这是一个特殊的 Bean 容器,用于管理 Web 应用中的所有 Bean。 - **默认的 DispatcherServlet 配置**:Spring 提供了一套默认配置来简化 DispatcherServlet 的设置过程。 - **处理流程...
而ApplicationContext接口是BeanFactory的子接口,它进一步集成了Spring AOP功能,支持消息资源处理、事件发布以及Web应用程序的特定上下文,例如WebApplicationContext。因此,ApplicationContext在企业级应用程序...
- **Action实现**:继承`ActionSupport`类,可以通过`getWebApplicationContext()`方法获取到`ApplicationContext`实例。 ```java public class XxxAction extends ActionSupport { // ... } ``` - **配置...
首先,我们注意到在传统的Java应用程序中,通常使用`ClassPathXmlApplicationContext`手动创建并初始化Spring的ApplicationContext。但在Web应用程序中,这种方式不再适用,因为我们需要在Web服务器启动时自动加载...
在`contextInitialized`方法中,你可以手动加载Spring配置文件并创建WebApplicationContext。这样,当Web应用启动时,Spring容器也会随之初始化。例如: ```java public class MyContextLoaderListener ...