<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 32,comments - 8,trackbacks - 0

    Oops! Spring Framework Quick Start!


    eclipse europa + tomcat 5.5+spring 2.06+lomboz S3.3RC1


    Purpose:

    完成這個(gè)項(xiàng)目,能夠?qū)pring框架有個(gè)整體認(rèn)識(shí),包括IoC之類的。

    Prerequisite:

    eclipse-java-europa-win32.zip

    apache-tomcat-5.5.23.exe

    tomcatPluginV31.zip

    spring-framework-2.0.6-with-dependencies.zip

    org.objectweb.lomboz-and-prereqs-S-3.3RC1-200708181505.zip


    Reference:

    http://www.tkk7.com/pixysoft/archive/2007/08/29/141048.html 



    Chapter 01
     

    新建一個(gè)Java Project,項(xiàng)目名為OopsSpringFramework

     

     

     

    選擇project – properties – Libraries添加以下類庫。所有類庫可以在spring-framework-2.0.6.zip里面找到,包括dist目錄和lib目錄里面。

     

     

     

    src目錄下面添加以下文件:



    beanRefDataAccess.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd"
    >
    <beans>
        
    <bean id="helloWorldDAO1" class="HelloWorld1" />
        
    <bean id="helloWorldDAO2" class="HelloWorld2" />
    </beans>


    beanRefFactory.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd"
    >
    <beans>
        
    <bean id="beanFactory"
            class
    ="org.springframework.context.support.ClassPathXmlApplicationContext">
            
    <constructor-arg>
                
    <list>
                    
    <value>beanRefDataAccess.xml</value>
                    
    <value>beanRefService.xml</value>
                    
    <value>beanRefMVC.xml</value>
                
    </list>
            
    </constructor-arg>
        
    </bean>
    </beans>


    beanRefMVC.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC
    "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd"
    >
    <beans>
        
    <bean id="helloWorldMVC1" class="HelloWorld1" />
        
    <bean id="helloWorldMVC2" class="HelloWorld2" />
    </beans>

    beanRefService.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd"
    >
    <beans>
        
    <bean id="helloWorld1" class="HelloWorld1" />
        
    <bean id="helloWorld2" class="HelloWorld2" />
        
    <bean id="springDemoConstructor" class="SpringDemoConstructor">
            
    <constructor-arg>
                
    <value>Spring IDE Constructor</value>
            
    </constructor-arg>
            
    <property name="helloWorld">
                
    <ref bean="helloWorld1"></ref>
            
    </property>
        
    </bean>
        
    <bean id="springDemoSetter" class="SpringDemoSetter">
            
    <property name="hello" value="Spring IDE Setter" />
            
    <property name="helloWorld">
                
    <ref bean="helloWorld2"></ref>
            
    </property>
        
    </bean>
    </beans>


    HelloWorld1.java

    public class HelloWorld1 implements IHelloWorld
    {
        
    public HelloWorld1()
        {
            
    super();
        }

        
    public String sayHelloWorld()
        {
            
    return "Hello World HelloWorld1";
        }
    }

    HelloWorld2.java

    public class HelloWorld2 implements IHelloWorld
    {
        
    public HelloWorld2()
        {
            
    super();
        }

        
    public String sayHelloWorld()
        {
            
    return "Hello World HelloWorld2";
        }
    }

    IHelloWorld.java

     

    public interface IHelloWorld
    {
        String sayHelloWorld();
    }


    ISpringDemo.java

    public interface ISpringDemo
    {
        IHelloWorld getHelloWorld();

        String getHello();
    }


    ServiceFactory.java

    import org.springframework.beans.factory.BeanFactory;
    import org.springframework.beans.factory.access.BeanFactoryLocator;
    import org.springframework.beans.factory.access.BeanFactoryReference;
    import org.springframework.beans.factory.access.SingletonBeanFactoryLocator;

    public final class ServiceFactory
    {
        
    private static BeanFactoryLocator bfLocator = null;
        
    private static BeanFactoryReference bfReference = null;
        
    private static BeanFactory factory = null;
        
    static
        {
            bfLocator 
    = SingletonBeanFactoryLocator.getInstance();
            bfReference 
    = bfLocator.useBeanFactory("beanFactory");
            factory 
    = bfReference.getFactory();
        }

        
    private ServiceFactory()
        {
            
    super();
        }

        
    public static Object getBeanByName(final String beanName)
        {
            
    return factory.getBean(beanName);
        }
    }

    SpringDemoConstructor.java

    public class SpringDemoConstructor implements ISpringDemo
    {
        
    private String hello;
        
    private IHelloWorld helloWorld;

        
    public SpringDemoConstructor(String hello)
        {
            
    this.hello = hello;
        }

        
    public String getHello()
        {
            
    return hello;
        }

        
    public IHelloWorld getHelloWorld()
        {
            
    return helloWorld;
        }

        
    public void setHelloWorld(IHelloWorld helloWorld)
        {
            
    this.helloWorld = helloWorld;
        }
    }

    SpringDemoSetter.java

    public class SpringDemoSetter implements ISpringDemo
    {
        
    private String hello;
        
    private IHelloWorld helloWorld;

        
    public String getHello()
        {
            
    return hello;
        }

        
    public void setHello(String hello)
        {
            
    this.hello = hello;
        }

        
    public IHelloWorld getHelloWorld()
        {
            
    return helloWorld;
        }

        
    public void setHelloWorld(IHelloWorld helloWorld)
        {
            
    this.helloWorld = helloWorld;
        }
    }


    SpringIDETest.java

    import junit.framework.TestCase;

    public class SpringIDETest extends TestCase
    {
        
    private IHelloWorld helloWorld = null;
        
    private ISpringDemo springDemo = null;
        
    private final static String hello1 = "Hello World HelloWorld1";
        
    private final static String hello2 = "Hello World HelloWorld2";
        
    private final static String helloset = "Spring IDE Setter";
        
    private final static String hellocon = "Spring IDE Constructor";

        
    public void testSpringBeans()
        {
            helloWorld 
    = (IHelloWorld) ServiceFactory.getBeanByName("helloWorld1");
            assertEquals(hello1, helloWorld.sayHelloWorld());
            helloWorld 
    = (IHelloWorld) ServiceFactory.getBeanByName("helloWorld2");
            assertEquals(hello2, helloWorld.sayHelloWorld());
        }

        
    public void testIoCConstructor()
        {
            
    // Constructor
            springDemo = (ISpringDemo) ServiceFactory
                    .getBeanByName(
    "springDemoConstructor");
            assertEquals(hellocon, springDemo.getHello());
            assertEquals(hello1, springDemo.getHelloWorld().sayHelloWorld());
        }

        
    public void testIoCSetter()
        {
            
    // Setter
            springDemo = (ISpringDemo) ServiceFactory
                    .getBeanByName(
    "springDemoSetter");
            assertEquals(helloset, springDemo.getHello());
            assertEquals(hello2, springDemo.getHelloWorld().sayHelloWorld());
        }
    }




    鼠標(biāo)右點(diǎn)擊OopsSpringFramework,選擇 Add Spring Project Nature


     

    打開Spring Explorer窗口

     

     

     



    SpringExplorer里面右選擇項(xiàng)目,properties.



    選擇
    Beans Support,Add xml



     

    之后得到以下內(nèi)容


     

    選擇Config Sets,New,輸入以下內(nèi)容

     

    之后Spring-Explorer出現(xiàn)以下內(nèi)容



    右鍵點(diǎn)擊項(xiàng)目,選擇Run as.. JUnit …

     


    完成!


    posted on 2007-08-30 10:11 張辰 閱讀(899) 評(píng)論(0)  編輯  收藏 所屬分類: Dr. Oops
    主站蜘蛛池模板: 每天更新的免费av片在线观看| 国产精品永久免费10000| 日本视频免费观看| 成人妇女免费播放久久久| 国产成人久久AV免费| 国产精品无码免费播放| 亚洲日韩在线中文字幕第一页| 色噜噜综合亚洲av中文无码| 亚洲色大成网站www| 岛国精品一区免费视频在线观看| 波多野结衣视频在线免费观看| 亚洲欧洲日产国码久在线观看| 亚洲欧美aⅴ在线资源| a级毛片免费全部播放| 日韩免费一区二区三区| 亚洲AV无码日韩AV无码导航| 亚洲av无码一区二区三区四区 | 88xx成人永久免费观看| 国产hs免费高清在线观看| 亚洲免费在线视频播放| 精品视频一区二区三区免费| 国产精品免费综合一区视频| 久久亚洲私人国产精品vA| h视频在线免费看| 亚洲av一综合av一区| 99re热精品视频国产免费| 亚洲一区二区三区AV无码| 含羞草国产亚洲精品岁国产精品| 亚欧人成精品免费观看| 亚洲中文字幕一二三四区| 亚洲精品国产精品国自产观看| 亚洲爆乳大丰满无码专区| 大陆一级毛片免费视频观看| 亚洲AV无码一区二区三区牛牛| 1000部啪啪未满十八勿入免费| 亚洲综合欧美色五月俺也去| 高清在线亚洲精品国产二区| 亚洲性色AV日韩在线观看| 国产成人精品久久亚洲高清不卡 | 国产一级淫片a免费播放口| 中文无码亚洲精品字幕|