一篇文章帶你Java Spring開發(fā)入門
Spring概述
Spring就是為解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的,做為開源中間件,它使用基本的JavaBean來完成以前只可能有EJB(Java企業(yè)bean)完成的事情。Spring獨立于各種應用服務器,甚至無須應用服務器的支持也能提供應用服務器的功能,同時為JavaEE應用程序開發(fā)提供繼承的框架,是企業(yè)應用開發(fā)的“一站式”選擇。Spring的用途不僅限于服務器的開發(fā),任何Java應用都可以從Spring中受益。
Spring是一個開源框架,它的功能都是從實際開發(fā)中抽取出來的。其主要優(yōu)勢之一是采用分層架構(gòu),整個框架由7個定義良好的模塊(組件)構(gòu)成,它們都統(tǒng)一構(gòu)建于核心容器之上。

Spring Core:核心容器提供Spring框架的基本功能,其主要組件BeanFactory是工廠模式的實現(xiàn)。它通過控制反轉(zhuǎn)(IOC)機制,將應用程序配置和依賴性規(guī)范與實際的程序代碼分離開。
Spring Context:想Spring框架提供上下文信息,包括企業(yè)服務。
Spring DAO:JDBC DAO抽象層提供了有用的一場層次結(jié)構(gòu),用來管理異常處理和不同數(shù)據(jù)庫供應商拋出的錯誤信息。
Spring簡單應用
當創(chuàng)建一個簡單的Java項目的時候,在控制臺要求輸出“Hello world!”,如果要求輸出“Hello Beer!”等等,那么就要不斷地去修改程序源代碼。如果項目龐大,程序中涉及這一輸出地語句不止一處,有很多處,且分散在整個項目地源碼(往往有成千上萬)中,如此大動干戈地改動程序,對于一個軟件系統(tǒng)地維護來說將是災難性地。
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實現(xiàn)程序輸出內(nèi)容地靈活改變。
Spring框架地基本使用
項目創(chuàng)建




添加依賴包

將下面這段依賴加入到紅色方框里面<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自動幫我們下載依賴包。

創(chuàng)建Spring配置文件

修改配置文件
打開ApplicationContest.xml,對其進行修改:
id:bean的唯一標識符,也就是相當于我們學的對象名。
class:bean對象所對應的全限定名:包名+類型。
property:相當于給對象中的屬性設置一個值。
value:具體的值,基本數(shù)據(jù)類型。
<?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()方法中的參數(shù)即為配置文件中Bean的id的值
TestHello testHello=(TestHello) application.getBean("TestHello");
System.out.println(testHello.getMessage());
}
}
運行結(jié)果
若要程序輸出“hello Beer!”,則只需要修改配置文件中的value值即可
<value>Hello Beer!</value>

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

總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!
相關文章
SpringCloud URL重定向及轉(zhuǎn)發(fā)代碼實例
這篇文章主要介紹了SpringCloud URL重定向及轉(zhuǎn)發(fā)代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03
SpringBoot3.0集成MybatisPlus的實現(xiàn)方法
本文主要介紹了SpringBoot3.0集成MybatisPlus的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-08-08
Java代理模式實例詳解【靜態(tài)代理與動態(tài)代理】
這篇文章主要介紹了Java代理模式,結(jié)合實例形式詳細分析了java靜態(tài)代理與動態(tài)代理模式相關概念、原理、操作技巧與注意事項,需要的朋友可以參考下2019-09-09
Java 數(shù)據(jù)庫時間返回前端顯示錯誤(差8個小時)的解決方法
本文主要介紹了Java 數(shù)據(jù)庫時間返回前端顯示錯誤(差8個小時)的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-08-08
SpringFox實現(xiàn)自動生成RESTful?API文檔
在開發(fā)?RESTful?API?時,編寫?API?文檔是一個重要的任務,這篇文章為大家介紹了如何使用?SpringFox?自動生成?RESTful?API?文檔,并提供示例代碼,需要的可以參考一下2023-06-06

