Spring4-Init-method 与 destroy-method使用

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>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 com.mycompany.shequ.bean.Forum;
import com.mycompany.shequ.service.IForumService;

public class ForumServiceImpl implements IForumService {

	public void destroyMethod(){
		System.out.println("destroy-method");
	}

	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
	">

	<bean id="forumservicebean" class="com.mycompany.shequ.service.impl.ForumServiceImpl" 
	init-method="initMethod" destroy-method="destroyMethod">
	</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方法上右键运行,输出结果如图所示

时间: 2024-10-27 11:15:25

Spring4-Init-method 与 destroy-method使用的相关文章

java代码中init method和destroy method的三种使用方式

在java的实际开发过程中,我们可能常常需要使用到init method和destroy method,比如初始化一个对象(bean)后立即初始化(加载)一些数据,在销毁一个对象之前进行垃圾回收等等. 周末对这两个方法进行了一点学习和整理,倒也不是专门为了这两个方法,而是在巩固spring相关知识的时候提到了,然后感觉自己并不是很熟悉这个,便好好的了解一下. 根据特意的去了解后,发现实际上可以有三种方式来实现init method和destroy method. 要用这两个方法,自然先要知道这两

kendo method:destroy 解决有些在kendo.all.js 的js 库里报错问题

首先,不得不承认,kendo UI 是个不错的东西,特别对于一个前端开发到行不足的程序猿来说.而在我们使用过程中貌似还是会遇到各种奇怪的问题.比如我们会经常用到对一些控件进行重赋值. destroy 在kendo的configration 的Medhod 的描述是: Prepares the widget for safe removal from DOM. Detaches all event handlers and removes jQuery.data attributes to avo

ServletContext结合Servlet接口中的init()方法和destroy()方法的运用----网站计数器

我们一般知道Servlet接口中的init()方法在tomcat启动时调用,destroy()方法在tomcat关闭时调用.那么这两个方法到底在实际开发中有什么作用呢?这就是这个随笔主要讲的内容. 思路:网站计数器,如果想在服务器关闭时,保留以前的访问量,最简单的方式是把访问数据放在数据库中,但这样会增加服务器的压力.所以ServletContext结合Servlet接口中的init()方法和destroy()方法的一起使用便可以做一个网站计数器. 把数据写在一个.txt文件中,在init()方

Invalid character found in method name. HTTP method names must be tokens

  o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang.IllegalArgumentException: Invalid character found in method name. HTTP metho

Python OOP(2)-static method,class method and instance method

静态方法(Static Method): 一种简单函数,符合以下要求: 1.嵌套在类中. 2.没有self参数. 特点: 1.类调用.实例调用,静态方法都不会接受自动的self参数. 2.会记录所有实例的信息,而不是为实例提供行为. 简单说staticmethod 无法访问类属性.实例属性,相当于一个相对独立的方法,跟类其实没什么关系,换个角度来讲,其实就是放在一个类的作用域里的函数而已. #!python2 #-*- coding:utf-8 -*- class A: v1="class ar

LINQ to Entities does not recognize the method &#39;Int32 ToInt32(System.String)&#39; method, and this method cannot be translated into a store expression

if (!string.IsNullOrEmpty(FarmWorkId)) { data = data.Where(p => p.TypeId == Convert.ToInt32(FarmWorkId)); } 解决方法: if (!string.IsNullOrEmpty(FarmWorkId)) { int i = Convert.ToInt32(FarmWorkId); data = data.Where(p => p.TypeId == i); } LINQ to Entities

display method, edit method, cach display ,security(备查)

Display 方法: 修饰符display所修的方法,其返回值将被作为一个不可以修改的值在form和report上显示.如果你希望这个值可以被编辑,就是要edit方法. <1> Display方法的书写位置: Display修饰符可以被用于以下方法: (1) Table下的方法 (2) Form下的方法 (3) Form data source下的方法 (4) Report下的方法 (5) Report design下的方法 Table下的display方法可以在多个form和report上

解决:Invalid character found in method name. HTTP method names must be tokens

  阿里云上弄了一个tomcat,经常半夜发送崩溃,查看日志发现这个东西,查阅资料发现是Tomcat的header缓冲区大小不够,只需要在server.xml中增加maxHttpHeaderSize字段即可: <Connector URIEncoding="UTF-8" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" useBodyEncodingForUR

分布式进阶(五)之JSVC配置

应用场景:在linux系统上进行项目开发,在部署java项目时,常用方法就是写一个shell脚本,但当服务器重启了,经常会忘了启动shell脚本了.所以我们需要把自己的应用变成linux的服务,当服务器启动的时候就自行启动自己的应用.使用JSVC就能够实现上面的功能. Jsvc是用来启动tomcat的,在linux下面使用. 在linux上以服务的方式启动java程序步骤: 注:其实bin目录下并没有jsvc.tar.gz这个文件,需要自己下载.解压完之后呢,执行sh support/build

Jsvc安装,配置 常规用户使用tomcat的80端口

Jsvc安装 一.下载安装包,地址如下: http://commons.apache.org/proper/commonsdaemon/download_daemon.cgi 二.安装步骤,参考链接 http://commons.apache.org/proper/commons-daemon/jsvc.html 1. 解压文件commons-daemon-1.0.15-src.tar.gz,进入到目录commons-daemon-1.0.15-src/src/native/unix 2.安装以