一篇文章帶你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的更多內容!
推薦閱讀:
- 詳解Spring容器的使用流程
- Spring概述和快速構建的方式
- Java Spring框架創建項目與Bean的存儲與讀取詳解
- Java Spring框架簡介與Spring IOC詳解
- 如何使用Spring-Test對Spring框架進行單元測試