Spring4-@PostConstruct和@PreDestroy注解的使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring4-@PostConstruct和@PreDestroy注解的使用相关的知识,希望对你有一定的参考价值。
1.创建Maven项目,项目名称springdemo41,如图所示
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; } @Override public 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 { @PreDestroy public void destroyMethod(){ System.out.println("destroy-method"); } @PostConstruct public 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/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd http://www.springframework.org/schema/context http://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/beans http://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 { @Test public 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方法上右键运行,输出结果如图所示
本文出自 “素颜” 博客,谢绝转载!
以上是关于Spring4-@PostConstruct和@PreDestroy注解的使用的主要内容,如果未能解决你的问题,请参考以下文章