Spring-001-環境搭建與第一個HelloWorld

weixin_34185560發表於2017-12-06

Spring 是什麼

  • Spring 是一個開源框架.
  • Spring 為簡化企業級應用開發而生. 使用 Spring 可以使簡單的 JavaBean 實現以前只有 EJB 才能實現的功能.
  • Spring 是一個 IOC(DI) 和 AOP 容器框架.
  • 具體描述 Spring:
    • 輕量級:Spring 是非侵入性的 - 基於 Spring 開發的應用中的物件可以不依賴於 Spring 的 API
    • 依賴注入(DI - - - dependency injection、IOC)
    • 面向切面程式設計(AOP - - - aspect oriented programming)
    • 容器: Spring 是一個容器, 因為它包含並且管理應用物件的生命週期
    • 框架: Spring 實現了使用簡單的元件配置組合成一個複雜的應用. 在 Spring 中可以使用 XML 和 Java 註解組合這些物件
    • 一站式:在 IOC 和 AOP 的基礎上可以整合各種企業應用的開源框架和優秀的第三方類庫 (實際上 Spring 自身也提供了展現層的 SpringMVC 和 持久層的 Spring JDBC)

Spring 模組

8244809-ccf465c2371e001e.png
微信公眾號:JavaWeb架構師

安裝 SPRING TOOL SUITE

  • SPRING TOOL SUITE 是一個 Eclipse 外掛,利用該外掛可以更方便的在 Eclipse 平臺上開發基於 Spring 的應用。
  • 安裝方法說明(springsource-tool-suite-3.4.0.RELEASE-e4.3.1-updatesite.zip):
    • Help --> Install New Software...
    • Click Add...
    • In dialog Add Site dialog, click Archive...
    • Navigate to springsource-tool-suite-3.4.0.RELEASE-e4.3.1-updatesite.zip and click Open
    • Clicking OK in the Add Site dialog will bring you back to the dialog 'Install'
    • Select the xxx/Spring IDE that has appeared
    • Click Next and then Finish
    • Approve the license
    • Restart eclipse when that is asked

搭建 Spring 開發環境

  • 把以下 jar 包加入到工程的 classpath 下:
8244809-e53a496ef3bdc4ff.png
微信公眾號:JavaWeb架構師
  • Spring 的配置檔案: 一個典型的 Spring 專案需要建立一個或多個 Bean 配置檔案, 這些配置檔案用於在 Spring IOC 容器裡配置 Bean. Bean 的配置檔案可以放在 classpath 下, 也可以放在其它目錄下.

測試程式碼

8244809-0fabb5ccd97a1172.png
微信公眾號:JavaWeb架構師

HelloWorld.java

package spring.hello;

public class HelloWorld {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    
    public void hello() {
        System.out.println("hello: " + name);
    }
}

TestHelloWorld.java

package spring.test;

import static org.junit.Assert.*;

public class TestHelloWorld {

    /*
     * 常規步驟:
     *  1.建立HelloWorld物件
     *  2.呼叫set方法,進行賦值
     *  3.呼叫hello方法列印
     */
    @Test
    public void testHelloWorld() {
        // 1.建立HelloWorld物件
        HelloWorld helloWorld = new HelloWorld();
        
        // 2.呼叫set方法,進行賦值
        helloWorld.setName("馮強");
        
        // 3.呼叫hello方法列印
        helloWorld.hello();
    }
    
    /*
     * Spring步驟:
     *      0. 匯入相關包
     *      1. 建立相關類、方法、屬性
     *      2. 建立Spring bean config檔案、並配置
     *      3. 建立Spring IOC 容器物件
     *      4. 從 IOC 容器中獲取例項
     *      5.進行相關操作
     * 
     * 說明:
     *      屬性的賦值都是在配置檔案中完成的。
     */
    @Test
    public void testHelloSpring() {
        // 1.建立 IOC 容器物件,引數是配置檔案的路徑
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        
        // 2.從 IOC 容器中獲取例項,引數是配置檔案中例項的名字
        HelloWorld helloWorld = ctx.getBean("helloWorld",HelloWorld.class);
        
        // 3.進行相關操作
        helloWorld.hello();
    }
}

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<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.xsd">

    <!-- 匹配值bean -->
    <!--  
        解釋:
            1. Spring根據class 幫我們建立一個id為helloWorld的物件(id值將是獲取該例項時候的標誌)
            2. 對其中的屬性name賦值為 周杰倫 (根據set方法)
    -->
    <!-- 1. Spring根據class 幫我們建立一個名為helloWorld的物件 -->
    <bean id="helloWorld" class="spring.hello.HelloWorld">
        <!-- 2. 對其中的屬性name賦值為 周杰倫 (根據set方法) -->
        <property name="name" value="周杰倫"></property>
    </bean>
    
</beans>

執行結果:


8244809-84d8dfd815dcaee4.gif
微信公眾號:JavaWeb架構師


其它


  • 原始碼下載
關注下方公眾號,回覆:java_course.code
8244809-0670092373eb4c44
完整教程PDF版本下載

相關文章