- 浏览: 627828 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (819)
- java开发 (110)
- 数据库 (56)
- javascript (30)
- 生活、哲理 (17)
- jquery (36)
- 杂谈 (15)
- linux (62)
- spring (52)
- kafka (11)
- http协议 (22)
- 架构 (18)
- ZooKeeper (18)
- eclipse (13)
- ngork (2)
- dubbo框架 (6)
- Mybatis (9)
- 缓存 (28)
- maven (20)
- MongoDB (3)
- 设计模式 (3)
- shiro (10)
- taokeeper (1)
- 锁和多线程 (3)
- Tomcat7集群 (12)
- Nginx (34)
- nodejs (1)
- MDC (1)
- Netty (7)
- solr (15)
- JSON (8)
- rabbitmq (32)
- disconf (7)
- PowerDesigne (0)
- Spring Boot (31)
- 日志系统 (6)
- erlang (2)
- Swagger (3)
- 测试工具 (3)
- docker (17)
- ELK (2)
- TCC分布式事务 (2)
- marathon (12)
- phpMyAdmin (12)
- git (3)
- Atomix (1)
- Calico (1)
- Lua (7)
- 泛解析 (2)
- OpenResty (2)
- spring mvc (19)
- 前端 (3)
- spring cloud (15)
- Netflix (1)
- zipkin (3)
- JVM 内存模型 (5)
- websocket (1)
- Eureka (4)
- apollo (2)
- idea (2)
- go (1)
- 业务 (0)
- idea开发工具 (1)
最新评论
-
sichunli_030:
对于频繁调用的话,建议采用连接池机制
配置TOMCAT及httpClient的keepalive以高效利用长连接 -
11想念99不见:
你好,我看不太懂。假如我的项目中会频繁调用rest接口,是要用 ...
配置TOMCAT及httpClient的keepalive以高效利用长连接
关于在spring 容器初始化 bean 和销毁前所做的操作定义方式有三种:
第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
第二种是:通过 在xml中定义init-method 和 destory-method方法
第三种是:通过bean实现InitializingBean和 DisposableBean接口
下面演示通过 @PostConstruct 和 @PreDestory
1:定义相关的实现类:
2:定义相关的配置文件:
其中<context:annotation-config />告诉spring 容器采用注解配置:扫描注解配置
测试类:
其中也可以通过申明加载org.springframework.context.annotation.CommonAnnotationBeanPostProcessor
类来告诉Spring容器采用的 常用 注解配置的方式:
只需要修改配置文件为:
http://blog.csdn.net/topwqp/article/details/8681497
spring加载bean实例化顺序
http://www.cnblogs.com/fanguangdexiaoyuer/p/5886050.html
Bean在实例化的过程中:
Constructor > @PostConstruct > InitializingBean > init-method
http://sexycoding.iteye.com/blog/1046993
Spring中Bean初始化实例【重要】
http://uule.iteye.com/blog/2094609
第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
第二种是:通过 在xml中定义init-method 和 destory-method方法
第三种是:通过bean实现InitializingBean和 DisposableBean接口
下面演示通过 @PostConstruct 和 @PreDestory
1:定义相关的实现类:
package com.myapp.core.annotation.init; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; public class PersonService { private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } @PostConstruct public void init(){ System.out.println("I'm init method using @PostConstrut...."+message); } @PreDestroy public void dostory(){ System.out.println("I'm destory method using @PreDestroy....."+message); } }
2:定义相关的配置文件:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> <context:annotation-config /> <bean id="personService" class="com.myapp.core.annotation.init.PersonService"> <property name="message" value="123"></property> </bean> </beans>
其中<context:annotation-config />告诉spring 容器采用注解配置:扫描注解配置
测试类:
package com.myapp.core.annotation.init; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MainTest { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("resource/annotation.xml"); PersonService personService = (PersonService)context.getBean("personService"); personService.dostory(); } }
其中也可以通过申明加载org.springframework.context.annotation.CommonAnnotationBeanPostProcessor
类来告诉Spring容器采用的 常用 注解配置的方式:
只需要修改配置文件为:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> <!-- <context:annotation-config /> --> <bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor" /> <bean id="personService" class="com.myapp.core.annotation.init.PersonService"> <property name="message" value="123"></property> </bean> </beans>
http://blog.csdn.net/topwqp/article/details/8681497
spring加载bean实例化顺序
http://www.cnblogs.com/fanguangdexiaoyuer/p/5886050.html
Bean在实例化的过程中:
Constructor > @PostConstruct > InitializingBean > init-method
http://sexycoding.iteye.com/blog/1046993
Spring中Bean初始化实例【重要】
http://uule.iteye.com/blog/2094609
发表评论
-
TransactionalEventListener注解
2021-07-04 12:14 1118TransactionalEventListener注解 记 ... -
Spring核心之bean
2021-06-16 13:49 212Spring Aop介绍 AOP,确实难,会让很多人懵逼 ... -
不使用@EnableTransactionManagement注解就能使用事务
2021-06-13 11:03 466https://blog.csdn.net/weixin_38 ... -
spring4.1.8扩展实战之三
2019-01-03 23:35 412spring4.1.8扩展实战之三:广播与监听 https:/ ... -
Spring装配Bean的过程
2018-03-22 20:40 350(spring-第1回【IoC基础篇】)Spring容器中Be ... -
第三章 DispatcherServlet详解 ——跟开涛学SpringMVC
2018-03-20 19:54 481http://jinnianshilongnian.iteye ... -
Spring事件机制
2017-10-26 22:56 344Spring事件机制的简单例子 http://blog.cs ... -
Spring3.1新属性管理API:PropertySource、Environment、Profile
2017-09-06 20:17 430http://jinnianshilongnian.iteye ... -
FactoryBean的实现原理与作用
2017-09-05 20:50 0FactoryBean的实现原理与作用 http://blog ... -
@Inject和@Autowired以及@Resource区别
2017-08-21 15:52 728@value 注解配置默认值 但是,如果配置文件中没有设置 n ... -
Spring HttpInvoker远程调用的例子
2017-07-20 19:42 405http://blog.csdn.net/liuhui_306 ... -
spring 获取bean的几种方式
2017-07-20 17:36 400http://www.cnblogs.com/luoluosh ... -
一句话概括下spring框架及spring cloud框架主要组件
2017-07-19 16:56 44作为java的屌丝,基本上 ... -
AOP日志,记录调用类、方法、方法参数名称、方法参数值(包括对象和基本类型)
2017-07-15 19:15 2242http://blog.csdn.net/paincupid/ ... -
spring mvc Controller中使用@Value无法获取属性值
2017-06-28 17:14 963http://www.cnblogs.com/xianan87 ... -
4种方法让SpringMVC接收多个对象
2017-06-06 11:23 527http://blog.csdn.net/lutinghuan ... -
springmvc在普通类中获取HttpServletRequest对象
2017-05-25 17:18 728https://stackoverflow.com/quest ... -
spring的配置文件中mvc:view-controller path使用方法
2017-05-14 13:11 877[list] 1、重定向 <mvc:view-contr ... -
warning no match for this type name: com.cloud.access.web [Xlint:invalidA
2017-02-27 08:47 1526warning no match for this type ... -
SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
2017-02-24 13:57 500参考:http://blog.csdn.net/czmchen ...
相关推荐
然而,没有这些文件的具体内容,我们无法深入讨论Infinispan如何利用`@PostConstruct` 和 `@PreDestroy` 进行初始化和销毁操作。 在实际开发中,了解和正确使用这些注解对于确保服务的稳定性和资源的有效管理至关...
本文将深入探讨如何在Spring容器初始化Bean和销毁Bean前后执行自定义的操作,以便于进行日志记录、资源清理等任务。 首先,我们需要了解Spring中Bean的生命周期。Bean的生命周期大致分为以下阶段: 1. 实例化:...
在Spring框架中,我们可以使用多种方式来控制Bean的初始化和销毁,以下就Spring Bean的初始化和销毁进行详细的讲解。 一、Bean的初始化 在Spring框架中,我们可以使用多种方式来初始化Bean,下面我们将介绍两种...
`@POSTConstruct` 和 `@PreDestroy` 注解允许我们在Bean初始化完成后执行特定的操作,并在Bean销毁之前执行清理工作。本示例详细介绍了如何在Spring中使用这两个注解来定制Bean的生命周期行为。 首先,让我们了解...
下面将详细介绍如何通过不同方式定义Spring Bean的初始化和销毁回调方法。 **初始化回调方法** 1. **@PostConstruct注解** 这个Java标准注解用于标记一个方法,该方法将在对象完全构造后但在业务逻辑执行前被调用...
`@PostConstruct`和`@PreDestroy`注解分别标识初始化和销毁方法,Spring会在Bean实例化后调用`@PostConstruct`方法,在销毁前调用`@PreDestroy`方法。 8. **生命周期回调** 除了初始化和销毁方法,Spring还提供了...
"Spring初始化和销毁的实现方法" Spring框架中,Bean的初始化和销毁是非常重要的两个生命...Spring 中提供了多种实现 Bean 初始化和销毁的方法,开发者可以根据实际情况选择合适的方法来实现 Bean 的生命周期管理。
4. **启动后处理器(BeanPostProcessor)**:这些是特殊类型的Bean,它们在所有常规Bean实例化之后,但初始化之前进行处理。它们的实例化顺序由`@Order`注解决定,或者通过实现`Ordered`接口来控制。 5. **...
同样,如果实现了`org.springframework.beans.factory.DisposableBean`接口,Spring会在销毁Bean时调用`destroy()`方法。 ```java public class PersonService implements InitializingBean, DisposableBean { ....
在上面的例子中,当Spring容器创建`myService` Bean时,会调用`init`方法进行初始化,而在Bean被销毁时调用`destroy`方法进行资源清理。 在转向注解配置之前,我们需要理解Spring的@Component、@Service、@...
Spring 提供了多种不同的方式来初始化和销毁 Bean,这些方式包括 init-method/destroy-method、InitializingBean/DisposableBean、@PostConstruct/@PreDestroy 和 ContextStartedEvent/ContextClosedEvent 等。...
1. **初始化阶段**:在这个阶段,Spring会创建Bean的实例,这可以通过`@PostConstruct`注解的方法来标记初始化代码。此外,如果Bean实现了`InitializingBean`接口,Spring会调用`afterPropertiesSet()`方法。另外,...
在Spring框架中,Bean的生命周期管理是其核心功能之一,它涉及到Bean的创建、初始化、使用和销毁等各个阶段。以下是对"bean的生命周期1"的详细解释: 1. **指定初始化和销毁方法**: Spring允许我们为Bean定义初始...
`@PostConstruct`标注的方法会在bean完全初始化之后、实例可供其他bean使用之前调用,而`@PreDestroy`则会在bean即将被销毁时调用。 通过使用这些注解,我们可以减少XML配置,使代码更简洁,同时也使得依赖关系更加...
通过实现`postProcessBeforeInitialization()`和`postProcessAfterInitialization()`方法,可以在Bean初始化前后进行额外的操作。 在Spring容器中,Bean的生命周期管理也支持通过`BeanDefinition`进行定制。例如,...
如果一个 Bean 实现了 InitializingBean 接口,Spring 会在实例化后调用 afterPropertiesSet 方法进行初始化。另外,也可以使用 @PostConstruct 注解标记初始化方法,同样会在 Bean 实例化后执行。 6. **...
3.@PostConstruct 和 @PreDestroy 注解 Spring 也支持在方法上使用这些注解来标识初始化和销毁方法。`@PostConstruct` 标记的方法会在所有依赖注入完成后调用,而 `@PreDestroy` 标记的方法会在容器关闭前...
在这里,我们使用 @PostConstruct 和 @PreDestroy 注解来指定组件的初始化和销毁方法,这样可以在组件的生命周期中执行特定的操作。 @Component、@Repository、@Service、@Controller 等注解是 Spring 框架中常用的...
4. **容器回调**:在Bean初始化之后,Spring容器可能会调用自己的回调方法,如`BeanPostProcessor`接口实现的`postProcessBeforeInitialization()`和`postProcessAfterInitialization()`方法,允许自定义逻辑进一步...