最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一篇文章帶你Java Spring開發(fā)入門

 更新時(shí)間:2021年09月12日 08:55:38   作者:可愛多一點(diǎn)@  
這篇文章主要為大家詳細(xì)介紹了Java Spring開發(fā)入門學(xué)習(xí)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

Spring概述

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

Spring是一個(gè)開源框架,它的功能都是從實(shí)際開發(fā)中抽取出來的。其主要優(yōu)勢之一是采用分層架構(gòu),整個(gè)框架由7個(gè)定義良好的模塊(組件)構(gòu)成,它們都統(tǒng)一構(gòu)建于核心容器之上。

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

Spring簡單應(yīng)用

當(dāng)創(chuàng)建一個(gè)簡單的Java項(xiàng)目的時(shí)候,在控制臺(tái)要求輸出“Hello world!”,如果要求輸出“Hello Beer!”等等,那么就要不斷地去修改程序源代碼。如果項(xiàng)目龐大,程序中涉及這一輸出地語句不止一處,有很多處,且分散在整個(gè)項(xiàng)目地源碼(往往有成千上萬)中,如此大動(dòng)干戈地改動(dòng)程序,對于一個(gè)軟件系統(tǒng)地維護(hù)來說將是災(zāi)難性地。

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實(shí)現(xiàn)程序輸出內(nèi)容地靈活改變。

Spring框架地基本使用

項(xiàng)目創(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>

加入完成之后,點(diǎn)擊該按鈕,稍等一會(huì)ideal自動(dòng)幫我們下載依賴包。

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

修改配置文件

打開ApplicationContest.xml,對其進(jìn)行修改:

id:bean的唯一標(biāo)識(shí)符,也就是相當(dāng)于我們學(xué)的對象名。

class:bean對象所對應(yīng)的全限定名:包名+類型。

property:相當(dāng)于給對象中的屬性設(shè)置一個(gè)值。

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());
    }
}

運(yùn)行結(jié)果

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

 <value>Hello Beer!</value>

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

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 基于opencv+java實(shí)現(xiàn)簡單圖形識(shí)別程序

    基于opencv+java實(shí)現(xiàn)簡單圖形識(shí)別程序

    這篇文章主要給大家介紹了如何基于opencv+java實(shí)現(xiàn)簡單圖形識(shí)別程序的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • SpringCloud URL重定向及轉(zhuǎn)發(fā)代碼實(shí)例

    SpringCloud URL重定向及轉(zhuǎn)發(fā)代碼實(shí)例

    這篇文章主要介紹了SpringCloud URL重定向及轉(zhuǎn)發(fā)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • java雙向循環(huán)鏈表的實(shí)現(xiàn)代碼

    java雙向循環(huán)鏈表的實(shí)現(xiàn)代碼

    這篇文章介紹了java雙向循環(huán)鏈表的實(shí)現(xiàn)代碼,有需要的朋友可以參考一下
    2013-09-09
  • 關(guān)于java String中intern的深入講解

    關(guān)于java String中intern的深入講解

    這篇文章主要給大家介紹了關(guān)于java String中intern的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • SpringBoot3.0集成MybatisPlus的實(shí)現(xiàn)方法

    SpringBoot3.0集成MybatisPlus的實(shí)現(xiàn)方法

    本文主要介紹了SpringBoot3.0集成MybatisPlus的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Java代理模式實(shí)例詳解【靜態(tài)代理與動(dòng)態(tài)代理】

    Java代理模式實(shí)例詳解【靜態(tài)代理與動(dòng)態(tài)代理】

    這篇文章主要介紹了Java代理模式,結(jié)合實(shí)例形式詳細(xì)分析了java靜態(tài)代理與動(dòng)態(tài)代理模式相關(guān)概念、原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-09-09
  • mybatis-plus 如何配置邏輯刪除

    mybatis-plus 如何配置邏輯刪除

    這篇文章主要介紹了mybatis-plus 如何配置邏輯刪除,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Java 數(shù)據(jù)庫時(shí)間返回前端顯示錯(cuò)誤(差8個(gè)小時(shí))的解決方法

    Java 數(shù)據(jù)庫時(shí)間返回前端顯示錯(cuò)誤(差8個(gè)小時(shí))的解決方法

    本文主要介紹了Java 數(shù)據(jù)庫時(shí)間返回前端顯示錯(cuò)誤(差8個(gè)小時(shí))的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Java Spring IOC圖文詳解

    Java Spring IOC圖文詳解

    IoC是一種讓服務(wù)消費(fèi)者不直接依賴于服務(wù)提供者的組件設(shè)計(jì)方式,是一種減少類與類之間依賴的設(shè)計(jì)原則。下面通過本文給大家分享spring中ioc的概念,感興趣的朋友一起看看吧
    2021-09-09
  • SpringFox實(shí)現(xiàn)自動(dòng)生成RESTful?API文檔

    SpringFox實(shí)現(xiàn)自動(dòng)生成RESTful?API文檔

    在開發(fā)?RESTful?API?時(shí),編寫?API?文檔是一個(gè)重要的任務(wù),這篇文章為大家介紹了如何使用?SpringFox?自動(dòng)生成?RESTful?API?文檔,并提供示例代碼,需要的可以參考一下
    2023-06-06

最新評(píng)論

奉贤区| 攀枝花市| 庆云县| 辉南县| 九台市| 曲沃县| 繁峙县| 吴忠市| 汉源县| 县级市| 弥渡县| 烟台市| 武邑县| 乃东县| 孝昌县| 唐海县| 嘉祥县| 屏南县| 平度市| 万荣县| 柳州市| 定襄县| 红河县| 穆棱市| 革吉县| 吴忠市| 乌拉特前旗| 柏乡县| 将乐县| 衡阳县| 澄江县| 肇东市| 铅山县| 林州市| 新野县| 孝感市| 德庆县| 大英县| 华蓥市| 郴州市| 枣阳市|