spring init

DN学院讲师招募     Markdown编辑器轻松写博文     TOP 50 CTO坐镇直招     读文章说感想获好礼

通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作

分类: Spring 2013-03-16 16:48 24901人阅读 评论(1) 收藏 举报

关于在spring  容器初始化 bean 和销毁前所做的操作定义方式有三种:

第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作

第二种是:通过 在xml中定义init-method 和  destory-method方法

第三种是:通过bean实现InitializingBean和 DisposableBean接口

下面演示通过  @PostConstruct 和 @PreDestory

1:定义相关的实现类:

[java] view plaincopy

  1. package com.myapp.core.annotation.init;
  2. import javax.annotation.PostConstruct;
  3. import javax.annotation.PreDestroy;
  4. public class PersonService {
  5. private String  message;
  6. public String getMessage() {
  7. return message;
  8. }
  9. public void setMessage(String message) {
  10. this.message = message;
  11. }
  12. @PostConstruct
  13. public void  init(){
  14. System.out.println("I‘m  init  method  using  @PostConstrut...."+message);
  15. }
  16. @PreDestroy
  17. public void  dostory(){
  18. System.out.println("I‘m  destory method  using  @PreDestroy....."+message);
  19. }
  20. }

2:定义相关的配置文件:

[html] view plaincopy

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
  7. http://www.springframework.org/schema/context
  8. http://www.springframework.org/schema/context/spring-context-3.1.xsd">
  9. <!-- <context:component-scan  base-package="com.myapp.core.jsr330"/> -->
  10. <context:annotation-config />
  11. <bean id="personService" class="com.myapp.core.annotation.init.PersonService">
  12. <property name="message" value="123"></property>
  13. </bean>
  14. </beans>

其中<context:annotation-config />告诉spring 容器采用注解配置:扫描注解配置;

测试类:

[java] view plaincopy

  1. package com.myapp.core.annotation.init;
  2. import org.springframework.context.ApplicationContext;
  3. import org.springframework.context.support.ClassPathXmlApplicationContext;
  4. public class MainTest {
  5. public static void main(String[] args) {
  6. ApplicationContext  context = new ClassPathXmlApplicationContext("resource/annotation.xml");
  7. PersonService   personService  =  (PersonService)context.getBean("personService");
  8. personService.dostory();
  9. }
  10. }

测试结果:

I‘m  init  method  using  @PostConstrut....123
I‘m  destory method  using  @PreDestroy.....123

其中也可以通过申明加载org.springframework.context.annotation.CommonAnnotationBeanPostProcessor

类来告诉Spring容器采用的 常用 注解配置的方式:

只需要修改配置文件为:

[html] view plaincopy

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
  7. http://www.springframework.org/schema/context
  8. http://www.springframework.org/schema/context/spring-context-3.1.xsd">
  9. <!-- <context:component-scan  base-package="com.myapp.core.jsr330"/> -->
  10. <!-- <context:annotation-config /> -->
  11. <bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor" />
  12. <bean id="personService" class="com.myapp.core.annotation.init.PersonService">
  13. <property name="message" value="123"></property>
  14. </bean>
  15. </beans>

同样可以得到以上测试的输出结果。

时间: 2024-10-27 07:42:16

spring init的相关文章

Spring Instantiation with a factory method

Spring Init A Bean with Factory  1.静态工厂方法获取bean <bean id="clientService" class="examples.ClientService" factory-method=    "createInstance"/>  public class ClientService {             private static ClientService client

【Spring Boot 】2、Spring Boot CLI

1.配置Spring的环境变量在环境变量Path 添加: D:\Program Files\spring-boot-cli-1.5.8.RELEASE-bin\spring-1.5.8.RELEASE\bin CMD: spring --version java --version 2.使用Spring-Boot_CLI 命令创建项目spring init --build=maven --java-version=1.8 --dependencies=web --packaging=jar --

创建Spring Boot项目的几种方式总结

一.我们可以使用Spring Initializr来创建SpringBoot项目. Spring Initializr从本质上来说就是一个Web应用程序,它能为你生成Spring Boot项目结构.虽然不能生成应用程序代码,但它能为你提供一个基本的项目结构,以及一个用于构建代码的Maven或Gradle构建说明文件.你只需要写应用程序的代码就好了. Spring Initializr有几种用法. 通过Web界面使用. 通过Spring Tool Suite使用. 通过IntelliJ IDEA使

spring boot cli 知识点

spring boot cli 版本列表: https://repo.spring.io/snapshot/org/springframework/boot/spring-boot-cli/ spring boot cli 命令 说明 spring --version pring [--help] 命令介绍 spring help spring init --list 列出项目的信息 原文地址:https://www.cnblogs.com/cag2050/p/11143596.html

Spring Boot CLI——centos7

Spring Boot是一个命令行工具,用于使用Spring进行快速原型搭建.它允许你运行Groovy脚本,这意味着你可以使用类Java的语法,并且没有那么多的模板代码. 所有版本下载地址这里下载的版本spring-boot-cli-2.2.0.BUILD-20190222.193142-143-bin.tar.gz 下载完成后解压 tar spring-boot-cli-2.2.0.BUILD-20190222.193142-143-bin.tar.gz -C /home/maxzhao/ c

Spring Boot 服务监控,健康检查,线程信息,JVM堆信息,指标收集,运行情况监控等!

前言 去年我们项目做了微服务1.0的架构转型,但是服务监控这块却没有跟上.这不,最近我就被分配了要将我们核心的微服务应用全部监控起来的任务.我们的微服务应用都是SpringBoot 应用,因此就自然而然的想到了借助Spring Boot 的Actuator 模块. 本篇是我在完成这个工单之后,对Spring Boot Actuator模块 学习应用的总结.在本篇文章中,你可以学习到: 1.Spring Boot Actuator 的快速使用入门2.Spring Boot Actuator 的一些

Spring-Boot:6分钟掌握SpringBoot开发

构建项目 从技术角度来看,我们要用Spring MVC来处理Web请求,用Thymeleaf来定义Web视图,用Spring Data JPA来把阅读列表持久化到数据库里,姑且先用嵌入式的H2数据库. 1.项目搭建 Spring IO 官网搭建 我们可以进入到Spring 的官网:http://start.spring.io/进入官网后,可以快速的构建Spring boot 的基础项目,这里可以选择Maven 项目或者Gradle 项目,然后设置项目相关的配置. 在选择Generate Proj

hibernate 在web.xml中配置的作用

1. <filter>     <filter-name>Spring character encoding filter</filter-name>     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>     <init-param>       <param-name>encoding</p

完成一个springboot项目的完整总结

一. 项目的基础环境的搭建 1.javaJDK的安装和配置环境变量 2.mysql 3.eclipse 二.项目高级环境的搭建 使用maven前,一定要先安装JDK 1) 解压maven到briup目录下 2) 配置环境变量 MVN_HOME Path 3) 配置maven的本地仓库地址和远程镜像地址,打来maven的conf目录下的settings.xml进行配置 localRepository   用来存放依赖库 mirror   用来下载依赖 4).安装spring-boot脚手架 spr