java spring Writing a BeanPostProcessor

来源:互联网 发布:在淘宝上怎样开网店 编辑:程序博客网 时间:2024/05/17 07:52


DisplayNameBeanPostProcessor.java

package zxl;import org.springframework.beans.BeansException;import org.springframework.beans.factory.config.BeanPostProcessor;public class DisplayNameBeanPostProcessor implements BeanPostProcessor {@Overridepublic Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {// TODO Auto-generated method stubSystem.out.println("in after initialization method bean name is "+beanName);return bean;}@Overridepublic Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {// TODO Auto-generated method stubSystem.out.println("in before initialization method bean name is "+beanName);return bean;}}

DrawingApp.java

package zxl;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class DrawingApp {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubApplicationContext context=new ClassPathXmlApplicationContext("spring.xml");Triangle triangle =(Triangle) context.getBean("triangle");triangle.draw();}}

Point.java

package zxl;public class Point {private int x;private int y;public int getX() {return x;}public void setX(int x) {this.x = x;}public int getY() {return y;}public void setY(int y) {this.y = y;}}

Triangle.java

package zxl;import java.util.List;import org.springframework.beans.BeansException;import org.springframework.beans.factory.BeanNameAware;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;public class Triangle  {private Point pointA;private Point pointB;private Point pointC;public Point getPointA() {return pointA;}public void setPointA(Point pointA) {this.pointA = pointA;}public Point getPointB() {return pointB;}public void setPointB(Point pointB) {this.pointB = pointB;}public Point getPointC() {return pointC;}public void setPointC(Point pointC) {this.pointC = pointC;}public void draw(){System.out.println("point A ("+getPointA().getX()+","+getPointA().getY()+")");System.out.println("point B ("+getPointB().getX()+","+getPointB().getY()+")");System.out.println("point C ("+getPointC().getX()+","+getPointC().getY()+")");}}

spring.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"><beans>       <bean id="triangle"  class="zxl.Triangle"  >        <property name="pointA" ref="pointA" /><property name="pointB" ref="pointB" /><property name="pointC" ref="pointC" />    </bean>            <bean id="pointA" class="zxl.Point" >        <property name="x" value="0" />        <property name="y" value="0" />    </bean>    <bean id="pointB" class="zxl.Point" >        <property name="x" value="-20" />        <property name="y" value="0" />    </bean>    <bean id="pointC" class="zxl.Point" >        <property name="x" value="20" />        <property name="y" value="0" />    </bean>    <bean class="zxl.DisplayNameBeanPostProcessor" />    </beans>








原创粉丝点击