`
anyeeye
  • 浏览: 143894 次
  • 来自: ...
社区版块
存档分类
最新评论
文章列表
3.4. 自定义bean的本质特征 3.4.1. 生命周期接口 Spring提供了一些标志接口,用来改变BeanFactory中的bean的行为。 它们包括InitializingBean和DisposableBean。 实现这些接口将会导致BeanFactory调用前一个接口的afterPropertiesSet()方法, 调用后一个接口destroy()方法,从而使得bean可以在初始化和析构后做一些特定的动作。 在内部,Spring使用BeanPostProcessors 来处理它能找到的标志接口以及调用适当的方法。 如果你需要自定义的特性或者其他的Spring没有提供的生命周期行为, ...
第 3 章 Beans, BeanFactory和ApplicationContext 3.1. 简介 在Spring中,两个最基本最重要的包是 org.springframework.beans 和 org.springframework.context. 这两个包中的代码为Spring的反向控制 特性(也叫作依赖注射)提供了基础。 BeanFactory提供了一种先进的配置机制来管理任何种类bean(对象),这种配置机制考虑到任何一种可能的存储方式。 ApplicationContext建立在BeanFactory之上,并增加了其他的功能,比如更容易同Spring AOP特性整合, 消息资源 ...
究竟Spring在何时调用destroy-method="close" 这个方法close()呢?终于借助JavaEye找到了答案,原来如果Spring不在Web Container或是EJB Container中的时候,这个方法还是需要我们自己来调用的,具体就是调用BeanFactory的destroySingletons()方法,文档上的“自动调用”这几个字真是害我不浅呀,原来自动也是通过Web Container或是EJB Container才可以自动,具体做法就是要实现ServletContextListener这个接口,Spring中已经有具体的实现了: pub ...
Spring内核研究-管理bean之间的关系二(自动依赖检查) 自动依赖检查可以保证所有java bean中的属性(set方法)都在Spring中正确的配置。如果在一个java bean中定义了一个name属性,并且也setName方法。那么在开启自动依赖检查功能后,就必须在Spring中定义这个属性,否则Spring将抛出异常。 请看下面的例子: Dao.java 包含一个setName方法。 package research.spring.beanfactory.ch3;public class Dao {        private String name;        publi ...
Spring是一个强大的Java应用框架,它广泛地应用于Java应用程序中,为Plain Old Java Objects(POJO)提供企业级服务。Spring利用依赖注入机制来简化工作,同时提高可测试性。其配置文件(通常是XML格式)中指定了Spring bean、依赖性以及bean所需的服务。但是,这些XML配置文件既冗长又不实用。对于需要定义大量Spring bean的大型项目来说,它们难以阅读和管理。 在本文中,我将向您展示12种用于Spring XML配置的最佳实践。其中的一些实践与其说是最佳实践,倒不如说是必要实践。注意,其他因素(如域模型的设置)也可能影响XML的配置,但是本文重 ...
在struts中使用checkbox实现批量删除 JSP   <html:form StyleId = "delForm" action="/category.do?method=deleteColletion">       <logic:iterate id="category" name="categories" >          <tr>             <td<input type="checkbox" name="i ...
<class name="RecordLog">      <id name="id">          <generator class="native"/>      </id>         <property name="description"/>         <property name="interval" type="TimeIntervalType">          ...
<id name="id" type="xxCompositeUserType">      <column name="c1"/>      <column name="c2" />  </id> public class DoubleIntegerType implements CompositeUserType {              private static final int[] TYPES = { Types.INTEGER, Typ ...
Calculator.java package com.test.junit; /** * @author Administrator * */ public class Calculator { public double add(double number1, double number2) { return number1 + number2; } } SimpleTest.java package com.test.junit; import junit.framework.*; /** * @author Administrator * */ pu ...
test.jsp <%@ page contentType="text/html;charset=GB2312" language="java" %> <%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %> <%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> <%--<%@ taglib ur ...
web.xml <?xml version="1.0" encoding="GBK"?> <web-app version="2.4"          xmlns="http://java.sun.com/xml/ns/j2ee"          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"          xsi:schemaLocation="http://java.sun.com/xml/ns/ ...
Global site tag (gtag.js) - Google Analytics