亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring概述和快速構(gòu)建的方式

 更新時(shí)間:2021年06月25日 11:59:57   作者:何羨仙  
Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器(框架),Spring使用基本的JavaBean來(lái)完成以前只可能由EJB完成的事情,本文給大家介紹spring概述和快速構(gòu)建方式,一起看看吧

什么是Spring框架

* Spring是一個(gè)開源框架
* Spring是于2003 年興起的一個(gè)輕量級(jí)的Java開發(fā)框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來(lái)。
* 它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。框架的主要優(yōu)勢(shì)之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個(gè)組件,同時(shí)為 J2EE 應(yīng)用程序開發(fā)提供集成的框架。
* Spring使用基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以 從Spring中受益。
* Spring的核心是控制反轉(zhuǎn)(IoC)和面向切面(AOP)。簡(jiǎn)單來(lái)說(shuō),Spring是一個(gè)分層的JavaSE/EEfull-stack(一站式) 輕量級(jí)開源框架。
* EE開發(fā)分成三層結(jié)構(gòu)
* WEB層 -- Spring MVC
* 業(yè)務(wù)層 -- Bean管理:(IOC)
* 持久層 -- Spring的JDBC模板.ORM模板用于整合其他的持久層框架

Spring框架的特點(diǎn)

1. 為什么要學(xué)習(xí)Spring的框架

* 方便解耦,簡(jiǎn)化開發(fā)
* Spring就是一個(gè)大工廠,可以將所有對(duì)象創(chuàng)建和依賴關(guān)系維護(hù),交給Spring管理
* AOP編程的支持
* Spring提供面向切面編程,可以方便的實(shí)現(xiàn)對(duì)程序進(jìn)行權(quán)限攔截、運(yùn)行監(jiān)控等功能
* 聲明式事務(wù)的支持
* 只需要通過(guò)配置就可以完成對(duì)事務(wù)的管理,而無(wú)需手動(dòng)編程
* 方便程序的測(cè)試
* Spring對(duì)Junit4支持,可以通過(guò)注解方便的測(cè)試Spring程序
* 方便集成各種優(yōu)秀框架
* Spring不排斥各種優(yōu)秀的開源框架,其內(nèi)部提供了對(duì)各種優(yōu)秀框架(如:Struts2、Hibernate、MyBatis、Quartz等)的直接支持
* 降低JavaEE API的使用難度
* Spring 對(duì)JavaEE開發(fā)中非常難用的一些API(JDBC、JavaMail、遠(yuǎn)程調(diào)用等),都提供了封裝,使這些API應(yīng)用難度大大降低

2. Spring框架的版本

* Spring3.x和Spring4.x的版本

Spring概述

簡(jiǎn)介

  • Spring是一個(gè)開源免費(fèi)的框架 , 容器 .
  • Spring是一個(gè)輕量級(jí)的框架 , 非侵入式的 .
  • 控制反轉(zhuǎn) IoC , 面向切面 Aop
  • 對(duì)事物的支持 , 對(duì)框架的支持

一句話概括:Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器(框架)。

spring框架

Spring 框架是一個(gè)分層架構(gòu),由 7 個(gè)定義良好的模塊組成。Spring 模塊構(gòu)建在核心容器之上,核心容器定義了創(chuàng)建、配置和管理 bean 的方式 .

1620452529327

  • 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要組件是 BeanFactory ,它是工廠模式的實(shí)現(xiàn)。 BeanFactory 使用控制反轉(zhuǎn)(IOC) 模式將應(yīng)用程序的配置和依賴性規(guī)范與實(shí)際的應(yīng)用程序代碼分開。
  • Spring 上下文:Spring 上下文是一個(gè)配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企業(yè)服務(wù),例如 JNDI、EJB、電子郵件、國(guó)際化、校驗(yàn)和調(diào)度功能。
  • Spring AOP:通過(guò)配置管理特性,Spring AOP 模塊直接將面向切面的編程功能 , 集成到了 Spring框架中。所以,可以很容易地使 Spring 框架管理任何支持 AOP的對(duì)象。Spring AOP 模塊為基于Spring 的應(yīng)用程序中的對(duì)象提供了事務(wù)管理服務(wù)。通過(guò)使用 Spring AOP,不用依賴組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中。
  • Spring DAO:JDBC DAO 抽象層提供了有意義的異常層次結(jié)構(gòu),可用該結(jié)構(gòu)來(lái)管理異常處理和不同數(shù)據(jù)庫(kù)供應(yīng)商拋出的錯(cuò)誤消息。異常層次結(jié)構(gòu)簡(jiǎn)化了錯(cuò)誤處理,并且極大地降低了需要編寫的異常代碼數(shù)量(例如打開和關(guān)閉連接)。Spring DAO 的面向 JDBC 的異常遵從通用的 DAO 異常層次結(jié)構(gòu)。
  • **Spring ORM:**Spring 框架插入了若干個(gè) ORM 框架,從而提供了 ORM 的對(duì)象關(guān)系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有這些都遵從 Spring 的通用事務(wù)和 DAO 異常層次結(jié)構(gòu)。
  • Spring Web 模塊:Web 上下文模塊建立在應(yīng)用程序上下文模塊之上,為基于 Web 的應(yīng)用程序提供了上下文。所以,Spring 框架支持與 Jakarta Struts 的集成。Web 模塊還簡(jiǎn)化了處理多部分請(qǐng)求以及將請(qǐng)求參數(shù)綁定到域?qū)ο蟮墓ぷ鳌?/li>
  • Spring MVC 框架:MVC 框架是一個(gè)全功能的構(gòu)建 Web 應(yīng)用程序的 MVC 實(shí)現(xiàn)。通過(guò)策略接口,MVC 框架變成為高度可配置的,MVC 容納了大量視圖技術(shù),其中包括 JSP、Velocity、Tiles、iText 和 POI。

spring核心是IOC和AOP,它的功能也是從這兩方面入手。

IOC本質(zhì)

控制反轉(zhuǎn)IoC(Inversion of Control),是一種設(shè)計(jì)思想,DI(依賴注入)是實(shí)現(xiàn)IoC的一種方法,在以往的代碼中,對(duì)象的創(chuàng)建由程序自己控制,控制反轉(zhuǎn)后將對(duì)象的創(chuàng)建交由springIOC容器創(chuàng)建和管理,需要使用時(shí)從容器中拿到使用。

控制反轉(zhuǎn)是一種通過(guò)描述(XML或注解)并通過(guò)第三方去生產(chǎn)或獲取特定對(duì)象的方式。在Spring中實(shí)現(xiàn)控制反轉(zhuǎn)的是IoC容器,其實(shí)現(xiàn)方法是依賴注入(Dependency Injection,DI)。

spring快速構(gòu)建

導(dǎo)入jar包

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
</dependency>

新建實(shí)體類

public class Hello {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void show() {
        System.out.println("Hello," + name);
    }
}

在resourse下創(chuàng)建beans.xml

<?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
        https://www.springframework.org/schema/beans/spring-beans.xsd">
    <!--bean就是java對(duì)象 , 由Spring創(chuàng)建和管理-->
    <bean id="hello" class="com.lyj.bean.Hello">
        <property name="name" value="Spring"/>
    </bean>
</beans>

測(cè)試

ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        //getBean : 參數(shù)即為spring配置文件中bean的id .
        Hello hello = (Hello) context.getBean("hello");
        hello.show();

通過(guò)這種方式,就可以在xml中創(chuàng)建和管理一個(gè)id名為hello的,類型為Hello的的實(shí)體類對(duì)象實(shí)例,在Java代碼中通過(guò)方法直接獲取這個(gè)實(shí)例。

以上就是Spring概述和快速構(gòu)建的詳細(xì)內(nèi)容,更多關(guān)于Spring的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringMVC的執(zhí)行過(guò)程淺析

    SpringMVC的執(zhí)行過(guò)程淺析

    這篇文章主要給大家介紹了關(guān)于SpringMVC的執(zhí)行過(guò)程的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用SpringMVC具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 淺談Springboot下引入mybatis遇到的坑點(diǎn)

    淺談Springboot下引入mybatis遇到的坑點(diǎn)

    這篇文章主要介紹了Springboot下引入mybatis遇到的坑點(diǎn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java的線程與進(jìn)程以及線程的四種創(chuàng)建方式

    Java的線程與進(jìn)程以及線程的四種創(chuàng)建方式

    這篇文章主要為大家詳細(xì)介紹了Java的線程與進(jìn)程以及線程的四種創(chuàng)建方式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • Java解決計(jì)算相鄰兩個(gè)數(shù)的最大差值的問(wèn)題

    Java解決計(jì)算相鄰兩個(gè)數(shù)的最大差值的問(wèn)題

    今天給大家?guī)?lái)一道算法題:給定一個(gè)數(shù)組,求如果排序之后,相鄰兩數(shù)的最大差值。要求時(shí)間復(fù)雜度O(N),且要求不能用非基于比較的排序。快來(lái)跟隨小編一起學(xué)習(xí)一下如何解決這一問(wèn)題吧
    2021-12-12
  • Java集合框架之WeakHashMap詳解

    Java集合框架之WeakHashMap詳解

    這篇文章主要介紹了Java集合框架之WeakHashMap詳解,在 WeakHashMap 中,當(dāng)某個(gè)鍵不再正常使用時(shí),會(huì)被從WeakHashMap中被自動(dòng)移除,更精確地說(shuō),對(duì)于一個(gè)給定的鍵,其映射的存在并不阻止垃圾回收器對(duì)該鍵的丟棄,這就使該鍵成為可終止的,需要的朋友可以參考下
    2023-09-09
  • java中使用DES加密解密實(shí)例

    java中使用DES加密解密實(shí)例

    這篇文章主要介紹了java中使用DES加密解密實(shí)例,需要的朋友可以參考一下
    2014-01-01
  • springboot?serviceImpl初始化注入對(duì)象實(shí)現(xiàn)方式

    springboot?serviceImpl初始化注入對(duì)象實(shí)現(xiàn)方式

    這篇文章主要介紹了springboot?serviceImpl初始化注入對(duì)象實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • IDEA實(shí)用好用插件推薦及使用方法教程詳解(必看)

    IDEA實(shí)用好用插件推薦及使用方法教程詳解(必看)

    這篇文章主要介紹了IDEA實(shí)用好用插件推薦及使用方法教程,本文通過(guò)實(shí)例截圖相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 解決SpringBoot jar包中的文件讀取問(wèn)題實(shí)現(xiàn)

    解決SpringBoot jar包中的文件讀取問(wèn)題實(shí)現(xiàn)

    這篇文章主要介紹了解決SpringBoot jar包中的文件讀取問(wèn)題實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • springboot整合mongodb使用詳解

    springboot整合mongodb使用詳解

    MongoDB是一個(gè)文檔數(shù)據(jù)庫(kù)(以?JSON?為數(shù)據(jù)模型),由C++語(yǔ)言編寫,旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案,本文就給大家介紹一下詳細(xì)介紹一下springboot整合mongodb使用,需要的朋友可以參考下
    2023-07-07

最新評(píng)論