zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然轻量级JAVA EE企业应用开发Struts2Sping4Hibernate整合开发学习笔记:Spring_lifecycle-init

    <?xml version="1.0" encoding="GBK"?>
    <project name="spring" basedir="." default="">
        <property name="src" value="src"/>
        <property name="dest" value="classes"/>
    
        <path id="classpath">
            <fileset dir="../../lib">
                <include name="**/*.jar"/>
            </fileset>
            <pathelement path="${dest}"/>
        </path>
    
        <target name="compile" description="Compile all source code">
            <delete dir="${dest}"/>
            <mkdir dir="${dest}"/>
            <copy todir="${dest}">
                <fileset dir="${src}">
                    <exclude name="**/*.java"/>
                </fileset>        
            </copy>
            <javac destdir="${dest}" debug="true" includeantruntime="yes"
                deprecation="false" optimize="false" failonerror="true">
                <src path="${src}"/>
                <classpath refid="classpath"/>
                <compilerarg value="-Xlint:deprecation"/>
            </javac>
        </target>
    
        <target name="run" description="Run the main class" depends="compile">
            <java classname="lee.BeanTest" fork="yes" failonerror="true">
                <classpath refid="classpath"/>
            </java>
        </target>
    
    </project>
    <?xml version="1.0" encoding="GBK"?>
    <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://www.springframework.org/schema/beans"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
        <bean id="steelAxe" class="org.crazyit.app.service.impl.SteelAxe"/>
        <!--  配置chinese Bean,使用init-method="init"
            指定该Bean所有属性设置完成后,自动执行init方法 -->
        <bean id="chinese" class="org.crazyit.app.service.impl.Chinese"
            init-method="init">
            <property name="axe" ref="steelAxe"/>
        </bean>
    </beans>
    package lee;
    
    import org.springframework.context.*;
    import org.springframework.context.support.*;
    
    import org.crazyit.app.service.*;
    /**
     * Description:
     * <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
     * <br/>Copyright (C), 2001-2016, Yeeku.H.Lee
     * <br/>This program is protected by copyright laws.
     * <br/>Program Name:
     * <br/>Date:
     * @author  Yeeku.H.Lee kongyeeku@163.com
     * @version  1.0
     */
    public class BeanTest
    {
        public static void main(String[] args)throws Exception
        {
            ApplicationContext ctx = new
                ClassPathXmlApplicationContext("beans.xml");
            Person p = ctx.getBean("chinese" , Person.class);
            p.useAxe();
        }
    }
    package org.crazyit.app.service;
    
    /**
     * Description:
     * <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
     * <br/>Copyright (C), 2001-2016, Yeeku.H.Lee
     * <br/>This program is protected by copyright laws.
     * <br/>Program Name:
     * <br/>Date:
     * @author  Yeeku.H.Lee kongyeeku@163.com
     * @version  1.0
     */
    public interface Axe
    {
        public String chop();
    }
    package org.crazyit.app.service;
    
    /**
     * Description:
     * <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
     * <br/>Copyright (C), 2001-2016, Yeeku.H.Lee
     * <br/>This program is protected by copyright laws.
     * <br/>Program Name:
     * <br/>Date:
     * @author  Yeeku.H.Lee kongyeeku@163.com
     * @version  1.0
     */
    public interface Person
    {
        public void useAxe();
    }
    package org.crazyit.app.service.impl;
    
    import org.springframework.beans.factory.InitializingBean;
    import org.springframework.beans.factory.*;
    import org.springframework.context.*;
    import org.crazyit.app.service.*;
    /**
     * Description:
     * <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
     * <br/>Copyright (C), 2001-2016, Yeeku.H.Lee
     * <br/>This program is protected by copyright laws.
     * <br/>Program Name:
     * <br/>Date:
     * @author  Yeeku.H.Lee kongyeeku@163.com
     * @version  1.0
     */
    public class Chinese implements Person , InitializingBean
        , BeanNameAware, ApplicationContextAware
    {
        private Axe axe;
        public void setBeanName(String beanName)
        {
            System.out.println("===setBeanName===");
        }
        public void setApplicationContext(ApplicationContext ctx)
        {
            System.out.println("===setApplicationContext===");
        }
        public Chinese()
        {
            System.out.println("Spring实例化主调bean:Chinese实例...");
        }
        // axe的setter方法
        public void setAxe(Axe axe)
        {
            System.out.println("Spring调用setAxe()执行依赖注入...");
            this.axe = axe;
        }
        public void useAxe()
        {
            System.out.println(axe.chop());
        }
        // 测试用的初始化方法
        public void init()
        {
            System.out.println("正在执行初始化方法 init...");
        }
        // 实现InitializingBean接口必须实现的方法
        public void afterPropertiesSet() throws Exception
        {
            System.out.println("正在执行初始化方法 afterPropertiesSet...");
        }
    }
    package org.crazyit.app.service.impl;
    
    import org.crazyit.app.service.*;
    /**
     * Description:
     * <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
     * <br/>Copyright (C), 2001-2016, Yeeku.H.Lee
     * <br/>This program is protected by copyright laws.
     * <br/>Program Name:
     * <br/>Date:
     * @author  Yeeku.H.Lee kongyeeku@163.com
     * @version  1.0
     */
    public class SteelAxe
        implements Axe
    {
        public SteelAxe()
        {
            System.out.println("Spring实例化依赖bean:SteelAxe实例...");
        }
        public String chop()
        {
            return "钢斧砍柴真快";
        }
    }
  • 相关阅读:
    Lambda表达式、依赖倒置
    ASP.NET vNext 概述
    Uname
    RHEL4 i386下安装rdesktop【原创】
    Taxonomy of class loader problems encountered when using Jakarta Commons Logging(转)
    How to decompile class file in Java and Eclipse
    先有的资源,能看的速度看,不能看的,抽时间看。说不定那天就真的打不开了(转)
    Google App Engine 学习和实践
    【VBA研究】VBA通过HTTP协议实现邮件轨迹跟踪查询
    js正則表達式语法
  • 原文地址:https://www.cnblogs.com/tszr/p/12371886.html
Copyright © 2011-2022 走看看