国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring-簡(jiǎn)介

這篇具有很好參考價(jià)值的文章主要介紹了Spring-簡(jiǎn)介。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、概念

在向讀者描述Spring時(shí),筆者不打算從某處粘貼一段常見(jiàn)的概念性文字糊弄完本專欄的第一篇文章,而是用易于理解的話向讀者指出幾個(gè)重點(diǎn)。

(1)是框架。何謂框架?就像搭房子一樣,框架就如同是墻體結(jié)構(gòu),房地產(chǎn)開(kāi)發(fā)商將墻體結(jié)構(gòu)給客戶搭建好了,至于細(xì)節(jié)的裝修,比如刷什么顏色的漆,選用什么樣的家具、什么顏色的燈光等等這些都將交由客戶自己完成。Spring類似于此,它簡(jiǎn)化了Java程序員“搭建一套房子”的工作。Java程序員只需要引入這樣一個(gè)框架,然后做一些“裝修”的工作,就能快速地對(duì)外提供服務(wù)了。至此,我們?cè)俅伍喿xSpring官網(wǎng)的第一段話,是不是更能明白Spring框架出現(xiàn)的意義呢?一句話總結(jié):簡(jiǎn)化了應(yīng)用開(kāi)發(fā)。

Spring-簡(jiǎn)介,spring,java

(2)Spring的優(yōu)勢(shì)是?我們?cè)诖藘H僅先用一句話分別介紹幾個(gè)優(yōu)勢(shì),要深刻地理解,還需要后續(xù)持續(xù)的學(xué)習(xí)。

1、解耦:IoC通過(guò)依賴注入等方式,將對(duì)象的依賴關(guān)系從硬編碼中解耦出來(lái),降低了代碼的耦合度,使得代碼更加靈活和可維護(hù)。IoC,Inversion of Control,控制反轉(zhuǎn)。所謂控制,即創(chuàng)建對(duì)象的控制權(quán),所謂反轉(zhuǎn),指過(guò)去創(chuàng)建對(duì)象的控制是由開(kāi)發(fā)者自己掌握的,現(xiàn)在則交給了Spring框架。

2、AOP:Aspect-Oriented Programming,面向切面編程。彌補(bǔ)了OOP的缺陷。

3、聲明式事務(wù):是否還記得我們使用JDBC時(shí)如何進(jìn)行事務(wù)控制呢?我們需要通過(guò)Connection對(duì)象來(lái)setAutocommit為false,表示事務(wù)打開(kāi),再根據(jù)執(zhí)行結(jié)果來(lái)進(jìn)行commit或rollback。顯然這個(gè)操作太繁瑣了,那么期待Spring是如何優(yōu)雅地解決這一問(wèn)題吧。

4、集成了其它優(yōu)秀的框架:如SpringMVC,MyBatis等,集成了其它框架的能力會(huì)讓我們的工作更加省心。

5、降低JavaEE API的使用難度:例如JDBC的使用,我們的通用操作是注冊(cè)驅(qū)動(dòng),獲取連接,獲取執(zhí)行SQL對(duì)象等,執(zhí)行SQL,處理查詢結(jié)果等。而在Spring框架中,則集成了許多模板工具,如JDBCTemplate,針對(duì)Redis提供了RedisTemplate類。

二、快速使用

既然上面提到Spring框架是如此的便捷,那么我們現(xiàn)在來(lái)快速上手一下Spring吧。

(1)引入Spring上下文依賴spring-context,junit用于測(cè)試

        <!--基于Maven依賴傳遞性,導(dǎo)入spring-context依賴即可導(dǎo)入當(dāng)前所需所有jar包-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.1</version>
        </dependency>
        <!--junit測(cè)試-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

(2)定義一個(gè)類,并提供一個(gè)方法

public class HelloWorld {

    public void sayHello() {
        System.out.println("hello, spring");
    }
}

(3)定義配置文件,將第(2)步的類加入到Spring容器中

<?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:將對(duì)象交給IOC容器來(lái)管理
        id:bean的唯一標(biāo)識(shí),不能重復(fù)
        class:設(shè)置bean對(duì)象所對(duì)應(yīng)的類型
    -->
    <bean id="hello-world" class="com.bylearning.spring.pojo.HelloWorld" />
</beans>

(4)我們?cè)跍y(cè)試類中看看效果

import com.bylearning.spring.pojo.HelloWorld;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class HelloWorldTest {

    @Test
    public void test() {
        // 獲取IOC容器
        ApplicationContext ioc = new ClassPathXmlApplicationContext("applicationContext.xml");
        // 獲取IOC容器中的bean
        HelloWorld helloworld = (HelloWorld)ioc.getBean("hello-world");
        HelloWorld helloworld1 = (HelloWorld)ioc.getBean("hello-world");
        System.out.println(helloworld);
        System.out.println(helloworld1); // 兩個(gè)地址相同,驗(yàn)證Spring容器創(chuàng)建對(duì)象默認(rèn)是單例模式
        helloworld.sayHello();
    }
}

至此,我們就完成了Spring的初探:將對(duì)象交給Spring容器來(lái)管理,并通過(guò)getBean方法向容器索要一個(gè)對(duì)象。

注意到獲取IoC容器時(shí),我們使用了new ClassPathXmlApplication(String xmlFileName)方法,這個(gè)方法顧名思義,會(huì)讀取在類路徑下一個(gè)xml文件,我們?cè)诤竺娴恼鹿?jié)中會(huì)更詳細(xì)地闡述。以及getBean(String beanId)方法,還有通過(guò)類獲取Bean的方法,我們也在后面介紹。在這里大家僅需快速了解Spring的基本使用即可。

我們多說(shuō)幾句Spring創(chuàng)建對(duì)象的邏輯是:Spring框架通過(guò)讀取xml文件,根據(jù)id標(biāo)識(shí)獲得了Bean的全限定名,通過(guò)反射創(chuàng)建出Bean對(duì)象并返回對(duì)象。

了解完這些,我們似乎對(duì)Spring有了些模糊的認(rèn)識(shí),接下來(lái)讓我們走近Spring,首先來(lái)了解一下Spring的配置文件。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-814867.html

到了這里,關(guān)于Spring-簡(jiǎn)介的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring-簡(jiǎn)介

    Spring-簡(jiǎn)介

    一、概念 在向讀者描述Spring時(shí),筆者不打算從某處粘貼一段常見(jiàn)的概念性文字糊弄完本專欄的第一篇文章,而是用易于理解的話向讀者指出幾個(gè)重點(diǎn)。 (1)是框架 。何謂框架?就像搭房子一樣,框架就如同是墻體結(jié)構(gòu),房地產(chǎn)開(kāi)發(fā)商將墻體結(jié)構(gòu)給客戶搭建好了,至于細(xì)節(jié)的

    2024年01月22日
    瀏覽(31)
  • Spring Boot簡(jiǎn)介

    Spring Boot簡(jiǎn)介

    ??Spring Boot是一個(gè)基于Spring框架的快速開(kāi)發(fā)腳手架,它簡(jiǎn)化了Spring應(yīng)用的初始化和搭建過(guò)程,提供了眾多便利的功能和特性,比如自動(dòng)配置、嵌入式Tomcat等,讓開(kāi)發(fā)人員可以更加專注于業(yè)務(wù)邏輯的實(shí)現(xiàn)。 ??Spring Boot還提供了強(qiáng)大的插件體系和廣泛的集成,可以輕松地與其

    2024年02月10日
    瀏覽(22)
  • Spring Cloud 簡(jiǎn)介

    Spring Cloud 簡(jiǎn)介

    ? Spring Cloud作為Java語(yǔ)言的微服務(wù)框架,它依賴于SpringBoot,有快速開(kāi)發(fā)、持續(xù)交付和容易部署等特點(diǎn) 。SpringCloud的組件非常多,涉及微服務(wù)的方方面面,在開(kāi)源社區(qū)Spring和Netflix、Pivotal兩大公司的推動(dòng)下越來(lái)越完善。 ? 微服務(wù)可拆分為 “微” 和 “服務(wù)” 兩個(gè)?!拔ⅰ?即小

    2023年04月08日
    瀏覽(24)
  • Spring 簡(jiǎn)介

    Spring是用于企業(yè)Java應(yīng)用程序開(kāi)發(fā)的最流行的應(yīng)用程序開(kāi)發(fā)框架。全球數(shù)百萬(wàn)開(kāi)發(fā)人員使用Spring Framework創(chuàng)建高性能、易于測(cè)試和可重用的代碼。 Spring Framework是一個(gè)開(kāi)源的Java平臺(tái)。它最初由Rod Johnson編寫(xiě),并于2003年6月在Apache 2.0許可下首次發(fā)布。 Spring在大小和透明度方面都非

    2024年02月13日
    瀏覽(14)
  • Spring詳解簡(jiǎn)介

    Spring詳解簡(jiǎn)介

    1、Spring的簡(jiǎn)介 ? Spring的英文翻譯為春天,可以說(shuō)是給Java程序員帶來(lái)了春天,因?yàn)樗鼧O大的簡(jiǎn)化了開(kāi)發(fā)。我得出一個(gè)公式:Spring = 春天 = Java程序員的春天 = 簡(jiǎn)化開(kāi)發(fā)。最后的簡(jiǎn)化開(kāi)發(fā)正是Spring框架帶來(lái)的最大好處。 ? Spring是一個(gè)開(kāi)放源代碼的設(shè)計(jì)層面框架,它是于2003 年興起

    2024年02月01日
    瀏覽(13)
  • 【Spring教程21】Spring框架實(shí)戰(zhàn):Spring事務(wù)簡(jiǎn)介、AOP事務(wù)管理、代碼示例全面詳解

    【Spring教程21】Spring框架實(shí)戰(zhàn):Spring事務(wù)簡(jiǎn)介、AOP事務(wù)管理、代碼示例全面詳解

    歡迎大家回到《Java教程之Spring30天快速入門(mén)》,本教程所有示例均基于Maven實(shí)現(xiàn),如果您對(duì)Maven還很陌生,請(qǐng)移步本人的博文《如何在windows11下安裝Maven并配置以及 IDEA配置Maven環(huán)境》,本文的上一篇為《AOP(面對(duì)切面編程)知識(shí)總結(jié)》 事務(wù)作用:在數(shù)據(jù)層保障一系列的數(shù)據(jù)庫(kù)

    2024年02月04日
    瀏覽(53)
  • Spring5深入淺出篇:Spring與工廠設(shè)計(jì)模式簡(jiǎn)介

    Spring5深入淺出篇:Spring與工廠設(shè)計(jì)模式簡(jiǎn)介

    輕量級(jí) JavaEE的解決?案 spring實(shí)際上就是對(duì)原有設(shè)計(jì)模式的一種高度封裝和整合 整合設(shè)計(jì)模式 工廠設(shè)計(jì)模式 什么是工廠設(shè)計(jì)模式 當(dāng)UserServiceImpl發(fā)生變化是會(huì)影響到userService等相關(guān)聯(lián)的類,在線上環(huán)境不利于維護(hù)

    2024年01月18日
    瀏覽(34)
  • Spring事務(wù)簡(jiǎn)介及相關(guān)案例

    Spring事務(wù)簡(jiǎn)介及相關(guān)案例

    目錄 ? 一、事務(wù)簡(jiǎn)介 二、準(zhǔn)備數(shù)據(jù)庫(kù) 三、創(chuàng)建maven項(xiàng)目,引入依賴和完成相關(guān)配置 1. pom.xml文件 2. 創(chuàng)建配置文件 四、編寫(xiě)Java代碼 1. Account實(shí)體類 2. AccountDao接口 3. AccountService業(yè)務(wù)類? 五、測(cè)試 1. 測(cè)試方法 2. 測(cè)試結(jié)果?編輯 往期專欄文章相關(guān)導(dǎo)讀? 1. Maven系列專欄文章 2. M

    2024年02月08日
    瀏覽(18)
  • Spring Data ElasticSearch簡(jiǎn)介

    Spring Data ElasticSearch簡(jiǎn)介

    Spring Data是?個(gè)?于簡(jiǎn)化數(shù)據(jù)庫(kù)訪問(wèn),并?持云服務(wù)的開(kāi)源框架。其主要?標(biāo)是使得對(duì)數(shù)據(jù)的訪問(wèn)變 得?便快捷,并?持map-reduce框架和云計(jì)算數(shù)據(jù)服務(wù)。 Spring Data可以極?的簡(jiǎn)化JPA的寫(xiě)法,可 以在?乎不?寫(xiě)實(shí)現(xiàn)的情況下,實(shí)現(xiàn)對(duì)數(shù)據(jù)的訪問(wèn)和操作。除了CRUD外,還包括如分

    2023年04月19日
    瀏覽(18)
  • Spring Cloud GateWay簡(jiǎn)介

    網(wǎng)關(guān)是一種充當(dāng)轉(zhuǎn)換重任的計(jì)算機(jī)系統(tǒng)或設(shè)備,使用在不同的通信協(xié)議、數(shù)據(jù)格式或語(yǔ)言,甚至網(wǎng)關(guān)是一種充當(dāng)轉(zhuǎn)換重任的計(jì)算機(jī)系統(tǒng)或設(shè)備,使用在不同的通信協(xié)議、數(shù)據(jù)格式或語(yǔ)言,甚至體系結(jié)構(gòu)完全不同的兩種系統(tǒng)之間進(jìn)行數(shù)據(jù)傳輸. 網(wǎng)關(guān)具備轉(zhuǎn)發(fā), 路由和數(shù)據(jù)過(guò)濾的功

    2024年02月05日
    瀏覽(26)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包