一篇文章帶你Java Spring開發入門

Spring概述

Spring就是為解決企業應用開發的復雜性而創建的,做為開源中間件,它使用基本的JavaBean來完成以前隻可能有EJB(Java企業bean)完成的事情。Spring獨立於各種應用服務器,甚至無須應用服務器的支持也能提供應用服務器的功能,同時為JavaEE應用程序開發提供繼承的框架,是企業應用開發的“一站式”選擇。Spring的用途不僅限於服務器的開發,任何Java應用都可以從Spring中受益。

Spring是一個開源框架,它的功能都是從實際開發中抽取出來的。其主要優勢之一是采用分層架構,整個框架由7個定義良好的模塊(組件)構成,它們都統一構建於核心容器之上。

Spring Core:核心容器提供Spring框架的基本功能,其主要組件BeanFactory是工廠模式的實現。它通過控制反轉(IOC)機制,將應用程序配置和依賴性規范與實際的程序代碼分離開。
Spring Context:想Spring框架提供上下文信息,包括企業服務。
Spring DAO:JDBC DAO抽象層提供瞭有用的一場層次結構,用來管理異常處理和不同數據庫供應商拋出的錯誤信息。

Spring簡單應用

當創建一個簡單的Java項目的時候,在控制臺要求輸出“Hello world!”,如果要求輸出“Hello Beer!”等等,那麼就要不斷地去修改程序源代碼。如果項目龐大,程序中涉及這一輸出地語句不止一處,有很多處,且分散在整個項目地源碼(往往有成千上萬)中,如此大動幹戈地改動程序,對於一個軟件系統地維護來說將是災難性地。

package org.example;
public class TestHello {
    private String message;
    public String getMessage() {
        return message;
    }
    public void setMessage(String message) {
        this.message = message;
    }
}
package org.example;
public class Test 
{
    public static void main( String[] args )
    {
        TestHello testHello=new TestHello();
        testHello.setMessage("Hello world!……");
        System.out.println(testHello.getMessage());
    }
}

下面使用Spring解決這一問題。使用Spring實現程序輸出內容地靈活改變。

Spring框架地基本使用

項目創建

添加依賴包

將下面這段依賴加入到紅色方框裡面<dependencies> </dependencies>之間。

<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>5.3.8</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>5.3.8</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.3.8</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>5.2.12.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>5.3.8</version>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.2</version>
    </dependency>

加入完成之後,點擊該按鈕,稍等一會ideal自動幫我們下載依賴包。

創建Spring配置文件

修改配置文件

打開ApplicationContest.xml,對其進行修改:

id:bean的唯一標識符,也就是相當於我們學的對象名。

class:bean對象所對應的全限定名:包名+類型。

property:相當於給對象中的屬性設置一個值。

value:具體的值,基本數據類型。

<?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 id="TestHello" class="org.example.TestHello">
        <property name="message">
            <value>Hello World!</value>
        </property>
    </bean>
</beans>

修改測試類

package org.example;
import javafx.application.Application;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App {
    public static void main( String[] args ) {
        //獲取ApplicationContext對象
        ApplicationContext application=new ClassPathXmlApplicationContext("ApplicationContext.xml");
        //通過ApplicationContext獲得TestHello對象
        //getBean()方法中的參數即為配置文件中Bean的id的值
        TestHello testHello=(TestHello) application.getBean("TestHello");
        System.out.println(testHello.getMessage());
    }
}

運行結果

若要程序輸出“hello Beer!”,則隻需要修改配置文件中的value值即可

 <value>Hello Beer!</value>

這個例子看不出來Spring的優勢,擔當項目規模很大,且源代碼中有很多處這樣的輸出語句時,Spring的有事就充分體現出來瞭。因為用瞭Spring隻需修改配置文件一個地方的value值即可讓所有的輸出都跟著一致變化,而不用逐條煩瑣地修改程序代碼啦!

總結

本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: