1.创建Maven项目,项目名称springdemo42,如图所示

2.配置Maven,修改项目中的pom.xml文件,修改内容如下

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>1.0.0</modelVersion><groupId>shequ</groupId><artifactId>springdemo13</artifactId><version>0.0.1-SNAPSHOT</version><properties><java.version>1.7</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding></properties><repositories><repository><id>codelds</id><url>https://code.lds.org/nexus/content/groups/main-repo</url></repository></repositories><dependencies><dependency><groupId>javax.annotation</groupId><artifactId>jsr250-api</artifactId><version>1.0</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>4.1.4.RELEASE</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.1.4.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.1.4.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>4.1.4.RELEASE</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.34</version></dependency></dependencies><build/>
</project>

3.在src/main/java下创建实体Bean Forum,包名(com.mycompany.shequ.bean)如图所示

4.实体Bean Forum的内容如下

package com.mycompany.shequ.bean;public class Forum {private int fid;private String name;private int displayOrder;public int getDisplayOrder() {return displayOrder;}public void setDisplayOrder(int displayOrder) {this.displayOrder = displayOrder;}public int getFid() {return fid;}public void setFid(int fid) {this.fid = fid;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "{fid=>"+this.fid+",name=>"+this.name+",displayOrder=>"+this.displayOrder+"}";}
}

5.在src/main/java下创建接口IForumService,包名(com.mycompany.shequ.service)如图所示

6.接口IForumService的内容如下

package com.mycompany.shequ.service;import com.mycompany.shequ.bean.Forum;public interface IForumService {public Forum findForumById(int fid);
}

7.在src/main/java下创建接口IForumService的实现类ForumServiceImpl,包名(com.mycompany.shequ.service.impl)如图所示

8.接口IForumService的实现类ForumServiceImpl的内容如下

package com.mycompany.shequ.service.impl;import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;import com.mycompany.shequ.bean.Forum;
import com.mycompany.shequ.service.IForumService;public class ForumServiceImpl implements IForumService {@PreDestroypublic void destroyMethod(){System.out.println("destroy-method");}@PostConstructpublic void initMethod(){System.out.println("init-method");}public Forum findForumById(int fid) {Forum forum = new Forum();forum.setName("init-method 与 destroy-method");return forum;}
}

9.在src/main/resource下创建bean的配置文件spring-bean.xml,如图所示

10.配置文件spring-bean.xml的内容如下

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-4.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.0.xsd"><context:annotation-config /><bean id="forumservicebean" class="com.mycompany.shequ.service.impl.ForumServiceImpl"></bean>
</beans>

11.在src/main/resource下创建核心的配置文件applicationContext.xml,如图所示

12.核心的配置文件applicationContext.xml的内容如下

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.0.xsd"><import resource="bean/spring-bean.xml"/></beans>

13.在src/test/java下创建测试文件AppTest,包名(com.mycompany.shequ.test)如图所示

14.测试文件AppTest的内容如下

package com.mycompany.shequ.test;import org.junit.Test;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.mycompany.shequ.service.IForumService;public class AppTest {@Testpublic void beanTest(){ConfigurableApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");IForumService forumService = (IForumService)context.getBean("forumservicebean");System.out.println(forumService.findForumById(1));context.close();}
}   

15.在测试类AppTest的beanTest方法上右键运行,输出结果如图所示

本文转自 素颜猪 51CTO博客,原文链接:http://blog.51cto.com/suyanzhu/1910117

Spring4-@PostConstruct和@PreDestroy注解的使用相关推荐

  1. @PostConstruct、@PreDestroy注解介绍及Spring中@PostConstruct、constructor、@Autowired的顺序

    @PostConstruct和@PreDestroy @PostConstruct和@PreDestroy注解是Common Annotations中的注解,Common Annotations原本是 ...

  2. Spring生命周期注解之@PostConstruct,@PreDestroy

    目录 1. 注解说明 2. 调用过程 3. 调用分析 1. 注解说明 @PostConstruct,@PreDestroy是Java规范JSR-250引入的注解,定义了对象的创建和销毁工作,同一期规范 ...

  3. Spring @PostConstruct和@PreDestroy实例

    在Spring中,既可以实现InitializingBean和DisposableBean接口或在bean配置文件中指定 init-method 和 destroy-method 在初始化和销毁回调函 ...

  4. 注解@PostConstruct与@PreDestroy

    从Java EE 5规范开始,Servlet中增加了两个影响Servlet生命周期的注解(Annotion):@PostConstruct和@PreDestroy.这两个注解被用来修饰一个非静态的vo ...

  5. 注解 @PostConstruct 与 @PreDestroy 详解及实例

    简介 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Java EE5 引入了@PostConstruct和@PreDestroy这两个作用于Ser ...

  6. spring注解( @Autowired、@Qualifier、@Resource、@PostConstruct、@PreDestroy、 @Component、@Scope)-描述的比较清楚

    概述: 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作.如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 P ...

  7. Spring学习总结(25)——注解@PostConstruct和@PreDestroy使用总结

    @PostConstruct 和 @PreDestroy 这两个都是方法的注解,将注解标注在方法上,该方法就能够在应用启动和销毁时执行, @PostConstruct 注解标注的函数,是在类执行完构造 ...

  8. 【Spring注解系列08】@PostConstruct与@PreDestroy

    1.@PostConstruct与@PreDestroy @PostConstruct:在bean创建完成并且属性赋值完成:来执行初始化方法 @PreDestroy:在容器销毁bean之前通知我们进行 ...

  9. PostConstruct和PreDestroy失效

    问题:PostConstruct 和 PreDestroy 失效 说明 今天遇到问题,在使用 Spring的两个注解的过程当中,出现了失效的情况. 也就是 @PostConstruct 和 @PreD ...

  10. 【JPA】注解@PostConstruct、@PreDestroy

    从Java EE5规范开始,Servlet增加了两个影响Servlet生命周期的注解@PostConstruct和@PreConstruct. 这两个注解被用来修饰一个非静态的void()方法,而且这 ...

最新文章

  1. C语言十进制转换成二进制源码
  2. 正确实现用spring扫描自定义的annotation
  3. 隐藏Nginx和PHP版本号
  4. 宿松长铺程集高中2021年高考成绩查询,2017宿松程集中学录取分数线(附2017高考成绩喜报)...
  5. 剑指offer 算法(树的两个节点的最低祖先)
  6. [ASP.NET MVC] 利用动态注入HTML的方式来设计复杂页面
  7. Android入门:DDMS视图
  8. echarts的x轴数量固定_联轴器 多节膜片式夹紧螺丝固定型 DAAPC(对应LK5CWP)
  9. 计算机中那些事儿(五):我与Dos的不解情缘---应用篇
  10. PHP7.1安装memcaehd扩展
  11. Python Sorted Containers
  12. multiprocessing.manager管理的对象需要加锁吗_龙伯推出超强员工档案管理系统,用户可以100%...
  13. 如何在php中针对距现在时间长短显示不同时间格式
  14. 知识点篇:8.1)坑爹的面试问题--选定轴孔配合公差等级
  15. 完成“LPS node 与Crazyflie在TWR协议下的成功双向测距”实现心路历程总结
  16. CAD在画线的过程中显示长度和角度
  17. Android Proguard 不混淆所有第三方jar(忽略配置设置)
  18. ROS小车IMU、角速度、线速度等参数校验
  19. 片选,怎么看时序图,电路原理图
  20. python中line表示什么_Python里matplotlib的颜色及线条等控制(linestyle/marker/color,全)...

热门文章

  1. MySQL数据库查询重复数据办法
  2. 我的世界服务器为什么显示崩溃,我的世界服务器崩溃的指令 | 手游网游页游攻略大全...
  3. pycharm怎么做html网页_html下拉菜单怎么做
  4. ecshop mysql 报错_ecshop数据库操作函数
  5. c语言链表成绩管理系统排序,【C项目】 文件,结构体,链表,排序, 学生信息管理系统...
  6. 服务器中W3SVC1文件夹的文件,完美解决IIS 服务器无法加载应用程序 '/LM/W3SVC/1/ROOT'。错误是 '没有注册类别...
  7. viper4android最新,ViPER4Android FX音效驱动下载-ViPER4Android音效驱动 v2.4.0.1 正式版_手机乐园...
  8. python 图像压缩pca_在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
  9. 电脑版微信怎么看朋友圈_电脑上也可以看朋友圈,99%的人都不知道!
  10. mysql 压测结果_用mysqlslap压测mysql