写一个监听去初始化Spring管理的bean
package com.kettas.haofeng.test;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
public class Test <T> extends ClassA <T> implements Serializable{
public static void main(String[] args) {
System.out.println("==============getSuperClass=====================");
System.out.println(Test.class.getSuperclass().getName());
System.out.println("====================getGenericSuperClass=============");
Type type=Test.class.getGenericSuperclass();
System.out.println(type);
if(ParameterizedType.class.isAssignableFrom(type.getClass())){
System.out.println("------------->getActualTypeArguments:");
for(Type t1:((ParameterizedType)type).getActualTypeArguments()){
System.out.println(t1+",");
}
System.out.println();
}
}
}
package
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.kettas.upp.background.biz.ProductBiz;
public class SysListener implements ServletContextListener {
public void contextDestroyed(ServletContextEvent ent) {
// TODO Auto-generated method stub
}
public void contextInitialized(ServletContextEvent ent) {
WebApplicationContext wa=
WebApplicationContextUtils.getRequiredWebApplicationContext(ent.getServletContext());
ProductBiz productBiz=(ProductBiz) wa.getBean("productBiz");
int count=productBiz.findCount();
System.out.println("====================");
System.out.println("==============="+count+"====================");
System.out.println("====================");
}
}
把写的这个监听配置到web.xml文件中去
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
com.xxx.xxx.SysListener
</listener-class>
</listener>
分享到:
相关推荐
整个流程中,Spring不仅创建了Bean,还管理了Bean的生命周期,包括依赖注入、初始化和销毁等。这种自动化管理使得开发者可以专注于业务逻辑,而不用关心对象的创建和管理细节。Spring的IoC容器使得应用更加灵活和...
Spring Bean 加载过程是 Spring 框架中最核心的部分之一,涉及到 ApplicationContext 的初始化、Bean 的加载和注册等过程。在 Spring Boot 应用程序中,SpringApplication 负责加载和管理 Bean。 SpringApplication...
"粗略实现spring创建bean"这个主题主要涉及到Spring如何初始化、配置以及管理Java对象,也就是我们所说的Bean。下面我们将深入探讨Spring Bean的生命周期、配置方式以及相关API。 1. Spring Bean 的生命周期 - ...
1. `AsyncInitBeanFactoryPostProcessor`:这是一个实现了`BeanFactoryPostProcessor`接口的类,它在Spring容器完全初始化所有bean定义之前运行。`AsyncInitBeanFactoryPostProcessor`可能用于标识那些配置了异步...
3. **初始化回调**:在属性注入完成后,Spring会调用Bean的初始化方法。如果在Bean定义中配置了`init-method`,那么这个方法会被执行。此外,实现`InitializingBean`接口的Bean也会自动调用`afterPropertiesSet()`...
`BeanUtil.java`可能是一个工具类,用于辅助获取或初始化bean。在Spring中,我们通常使用`ApplicationContext`来获取bean,或者在有`@Autowired`注解的字段和方法上进行自动注入。如果`BeanUtil`没有正确地处理bean...
此外,Spring容器还支持Bean的初始化和销毁方法,开发者可以通过`@PostConstruct`和`@PreDestroy`注解来定义Bean的生命周期方法。 在实际开发中,Spring的Bean管理还涉及到AOP(面向切面编程)、事件监听、以及与...
在Spring容器中,Bean的生命周期还包括容器感知的初始化和销毁,例如ApplicationContextAware接口允许Bean获取到容器引用,而ApplicationEventPublisherAware接口使Bean能够发布和监听应用事件。 总的来说,Spring ...
8. **事件监听(Event Publishing)**: Spring提供了一个事件发布和监听机制,允许在应用程序内部通信。通过实现`ApplicationListener`接口或使用`@EventListener`注解,我们可以订阅并处理特定的事件。 9. **Bean...
在Spring MVC框架中,应用程序启动时会执行一系列初始化操作,这些操作对于理解Spring MVC的工作原理至关重要。本篇文章将深入探讨Spring MVC启动时初始化的几个常用方法,并解释它们在实际开发中的作用。 首先,...
Spring只负责初始化Bean,但不会管理其销毁过程。如果需要清理资源,通常需要手动实现。 #### 五、Request作用域 **Request**作用域下的Bean在每次HTTP请求中都会创建一个新的实例,并且该实例只在当前HTTP请求...
为了将这个监听器注册到Spring Boot中,我们可以创建一个`ListenerConfig`类,使用`@Configuration`和`@Bean`注解,然后通过`ServletListenerRegistrationBean`将`MyListener`实例注册为一个bean。 基于注解的监听...
3. **Bean的生命周期管理**:容器需要提供初始化和销毁Bean的方法,如`init()`和`destroy()`,以便在合适的时间执行用户的自定义逻辑。此外,还需要支持单例(Singleton)和原型(Prototype)两种常见的Bean作用域。...
1. **理解ApplicationContextAware接口**:当一个Bean实现了ApplicationContextAware接口,Spring容器会在Bean初始化后,自动将ApplicationContext对象注入到Bean中,使得Bean可以获取到上下文中的其他Bean。...
- **Bean工厂**:Spring首先创建一个Bean工厂,它是管理Bean实例的地方。默认使用DefaultListableBeanFactory。 - **Bean的读取**:根据配置方式,Spring读取XML、注解或Java配置来解析Bean定义。 - **Bean的实例...
接下来,`obtainFreshBeanFactory()`方法创建了一个`ConfigurableListableBeanFactory`,它是Spring的Bean工厂,负责Bean的创建、管理和查找。在这个过程中,BeanDefinition的装载工作开始启动。 `...
在Spring Boot应用中,控制Bean的加载顺序是一个关键的议题,尤其是在处理复杂依赖关系或需要在特定时刻执行初始化操作的场景。Spring Boot遵循"约定优于配置"的理念,简化了配置,但同时也带来了需要手动干预Bean...
在此阶段,ApplicationContext会初始化如MessageSource这样的内建Bean,提供消息国际化服务,以及初始化Spring事件广播器,使得事件驱动的通信成为可能。 7. **Spring 应用上下文刷新阶段** 刷新过程涉及Bean的...
【标题】"222-手把手带你写一个MiniSpring" 在编程世界中,Spring框架是Java企业级应用开发的基石,它以其依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)的核心特性,...