激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring Framework 5.0 入門教程

Spring Framework 5.0 入門教程

2021-05-05 10:52星云博客園 Java教程

Spring Framework提供了一個簡易的開發方式,這種開發方式,將避免那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類。這篇文章主要介紹了Spring Framework 5.0 入門教程,感興趣的小伙伴們可以參考一下

1. 為什么學習spring?

隨著對java ee的不斷接觸和理解,你會發現spring 在各個企業和項目中發揮著越來越重要的作用。掌握spring 已成為我們it行業生存必學的本領之一。

  1. spring framework 是一個開源的java/java ee全功能棧(full-stack)的應用程序框架,以apache許可證形式發布,也有.net平臺上的移植版本。
  2. 該框架基于 expert one-on-one java ee design and development(isbn 0-7645-4385-7)一書中的代碼,最初由rod johnson和juergen hoeller等開發。
  3. spring framework提供了一個簡易的開發方式,這種開發方式,將避免那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類。

spring framework 當前最新版本是spring framework 5,當你打開官網,你應該能夠看到官網的宣傳圖片

Spring Framework 5.0 入門教程

這里有個相關的新聞有興趣可以看下, 英文原版地址點擊查看  中文版點擊查看

根據官網動態和我所了解的信息來看,spring 官網還會繼續支持spring mvc,因為它還有很多改進的地方。

但是未來的趨勢我認為必將是 spring boot+ springweb flux + spring cloud .

那么spring mvc 和 spring web flux 兩者有何區別呢?

官網對此給出了這樣一張對比圖:

Spring Framework 5.0 入門教程

翻譯下就是:

  1. spring mvc基于servlet api構建,并使用一個同步阻塞i / o體系結構和一個單線程請求線程模型的web 框架
  2. spring webflux是一個非阻塞的web框架,從該組建立起,利用多核,下一代處理器和大量并發連接。

總結:

  1. spring mvc 是基于servlet api 構建的同步阻塞式i/o 的web 框架。
  2. spring webflux 是一種更優秀的非阻塞式web框架,而且能更好處理大量并發連接。

看到這里,相信此時聰明的你應該曉得為什么我之前會那么說了吧。

2. spring 官網介紹

Spring 官網: https://spring.io/ Spring

文檔: https://spring.io/guides

Spring IDE: https://spring.io/tools/sts

Spring Project: https://spring.io/projects

項目快速生成器: https://start.spring.io/

上面這些鏈接相信很多人都知道,但是其實往往我們不是很清楚什么時候用哪個鏈接。

spring 官網: 關注spring 官網動態,最新的spring 技術和版本發布公告

spring 文檔: what you want to do ? 你想開發一個什么樣的項目?可以在這里快速找到相關介紹和文檔。

Spring Framework 5.0 入門教程

spring ide: 如果你打算用eclipse 版本,那么我推薦用 官網這個sts,因為它應該是最友好支持spring的eclipse 版本。當然,如果如果條件可以,我還是強烈推薦你使用intellij idea.

spring project: 這里是按照項目模塊劃分的,比如 從配置到安全,web應用程序到大數據,想學習哪個就按照分類去學即可。

Spring Framework 5.0 入門教程

項目生成器:這里是spring 官網提供的一個非常便利的工具,需要哪些依賴,哪個版本,在這里配置下然后下載即可。

3. spring framework

spring framework核心支持依賴注入,事務管理,web應用程序,數據訪問,消息傳遞,測試和更多

tips:這里講述的是翻譯 https://projects.spring.io/spring-framework/ 上面的內容

3.1 介紹

spring框架為現代基于java的企業應用程序提供了一個全面的編程和配置模型 - 在任何類型的部署平臺上。

spring的一個關鍵元素是應用程序級別的基礎架構支持:spring著重于企業應用程序的“管道”,以便團隊可以專注于應用程序級業務邏輯,而不必與特定部署環境形成不必要的聯系。

3.2 功能特點

  1.  核心技術:依賴注入,事件,資源,i18n,驗證,數據綁定,類型轉換,spel,aop。
  2. 測試:模擬對象,testcontext框架,spring mvc測試,webtestclient。
  3. 數據訪問:事務,dao支持,jdbc,orm,編組xml。
  4. spring mvc和spring webflux web框架
  5. 整合:遠程處理,jms,jca,jmx,電子郵件,任務,調度,緩存。
  6. 語言:kotlin,groovy,動態語言。

tips:這里加一張官網文檔中的一個截圖吧,相信有助于你更好地理解。

Spring Framework 5.0 入門教程

3.3 最低要求

  1. jdk 8+ for spring framework 5.x
  2. jdk 6+ for spring framework 4.x
  3. jdk 5+ for spring framework 3.x

tips: 所以你的電腦現在推薦使用 jdk1.8+

3.4 快速開始

在項目中開始使用spring-framework的推薦方法是使用依賴管理系統 - 下面的代碼片段可以復制并粘貼到您的構建中。

需要幫忙? 請參閱我們有關使用 maven 和 gradle 構建的入門指南。

其實不止spring 官網我們如今的各大公司應該大多數也推薦我們是用maven和gradle 來管理項目jar包依賴。

如果你使用的maven:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<dependencies>
  <dependency>
    <groupid>org.springframework</groupid>
    <artifactid> spring-context</artifactid>
    <version>5.1.0.build-snapshot</version>
  </dependency>
</dependencies><repositories>
  <repository>
    <id>spring-snapshots</id>
    <name>spring snapshots</name>
    <url>https://repo.spring.io/libs-snapshot</url>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

如果你是用的是gradle

?
1
2
3
4
5
6
7
dependencies {
  compile 'org.springframework: spring-context:5.1.0.build-snapshot'
}repositories {
  maven {
    url 'https://repo.spring.io/libs-snapshot'
  }
}

tips: 其實我覺得gradle應該是一種比maven更先進的版本依賴管理工具,不過如今各大公司使用gradle 似乎還不是很多,也許是與因為eclipse 對gradle 的支持還不夠像intellij idea 那么完美吧。

spring框架包含許多不同的模塊。 這里我們展示了提供核心功能的spring-context。 有關其他選項,請參閱右側的入門指南。

一旦你使用spring-context依賴關系設置你的構建,你就可以做到以下幾點:

到這里后官網有些不詳細,補充下。

方法一: 使用sts 工具構建這個帶有spring-context 上下文的項目

準備工作:

  1. jdk 1.8
  2.  sts ide

tips: 下載的時候有個坑注意下,如果你的jdk是64位,默認直接下載的sts是32位,會出現這個錯誤。

Spring Framework 5.0 入門教程

所以下載的時候一定要下載jdk匹配的版本才行,移步: https://spring.io/tools/sts/all

Spring Framework 5.0 入門教程

這里下載完成后我們在我們的ide空白處,右鍵——> new——> other...

Spring Framework 5.0 入門教程

輸入maven 搜索,選擇maven project,創建一個maven項目

Spring Framework 5.0 入門教程

選擇默認的工作空間

Spring Framework 5.0 入門教程

選擇默認的類型

Spring Framework 5.0 入門教程

輸入項目基本信息后點擊finish 完成

Spring Framework 5.0 入門教程

然后我們應該可以看到這樣的項目結構

Spring Framework 5.0 入門教程

首先修改pom.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<project xmlns="http://maven.apache.org/pom/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
  xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelversion>4.0.0</modelversion>
 
  <groupid>com.xingyun</groupid>
  <artifactid>spring-context-sample</artifactid>
  <version>0.0.1-snapshot</version>
  <packaging>jar</packaging>
 
  <name>spring-context-sample</name>
  <url>http://maven.apache.org</url>
 
  <properties>
    <project.build.sourceencoding>utf-8</project.build.sourceencoding>
  </properties>
 
  <dependencies>
    <dependency>
      <groupid>junit</groupid>
      <artifactid>junit</artifactid>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
 
    <dependency>
      <groupid>org.springframework</groupid>
      <artifactid> spring-context</artifactid>
      <version>5.1.0.build-snapshot</version>
    </dependency>
  </dependencies>
 
  <repositories>
    <repository>
      <id>spring-snapshots</id>
      <name>spring snapshots</name>
      <url>https://repo.spring.io/libs-snapshot</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>
 
 
</project>

創建文件

hello/messageservice.java

?
1
2
3
4
5
package com.xingyun.spring_context_sample.hello;
 
public interface messageservice {
  string getmessage();
}

hello/messageprinter.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.xingyun.spring_context_sample.hello;
 
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.component;
 
@component
public class messageprinter {
  final private messageservice service;
 
  @autowired
  public messageprinter(messageservice service) {
    this.service = service;
  }
 
  public void printmessage() {
    system.out.println(this.service.getmessage());
  }
}

tips: 注意下這里有個注解不要忘了

app.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.xingyun.spring_context_sample;
 
import org.springframework.context.applicationcontext;
import org.springframework.context.annotation.annotationconfigapplicationcontext;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.componentscan;
import org.springframework.context.annotation.configuration;
 
import com.xingyun.spring_context_sample.hello.messageprinter;
import com.xingyun.spring_context_sample.hello.messageservice;
 
@configuration
@componentscan
public class app
{
  @bean
  messageservice mockmessageservice() {
    return new messageservice() {
      public string getmessage() {
       return "hello world!";
      }
    };
  }
  public static void main( string[] args )
  {
     applicationcontext context =
         new annotationconfigapplicationcontext(app.class);
       messageprinter printer = context.getbean(messageprinter.class);
       printer.printmessage();
  }
}

tips: 注意類上有兩個注解和方法上有一個注解不要忘了,類的名字你可以改成官網上的application 也可以保留默認的app名字也行。

創建成功后項目結構應該是這樣

Spring Framework 5.0 入門教程

當然可能你會看著這種項目結構不舒服,那么你也可以選擇改變下。

Spring Framework 5.0 入門教程

項目結構就變成了這種:

Spring Framework 5.0 入門教程

運行app.main() 主方法

Spring Framework 5.0 入門教程

項目源碼下載: https://github.com/geekxingyun/javaee-framework-sample/tree/master/spring-context-sample

附錄:核心jar包依賴關系

tips: 如果你不是寫一個java web application,那么將不需要spring-web 模塊。

 

groupid

artifactid

description

org.springframework

spring-aop

proxy-based aop support

org.springframework

spring-aspects

aspectj based aspects

org.springframework

spring-beans

beans support, including groovy

org.springframework

spring-context

application context runtime, including scheduling and remoting abstractions

org.springframework

spring-context-support

support classes for integrating common third-party libraries into a spring application context

org.springframework

spring-core

core utilities, used by many other spring modules

org.springframework

spring-expression

spring expression language (spel)

org.springframework

spring-instrument

instrumentation agent for jvm bootstrapping

org.springframework

spring-instrument-tomcat

instrumentation agent for tomcat

org.springframework

spring-jdbc

jdbc support package, including datasource setup and jdbc access support

org.springframework

spring-jms

jms support package, including helper classes to send/receive jms messages

org.springframework

spring-messaging

support for messaging architectures and protocols

org.springframework

spring-orm

object/relational mapping, including jpa and hibernate support

org.springframework

spring-oxm

object/xml mapping

org.springframework

spring-test

support for unit testing and integration testing spring components

org.springframework

spring-tx

transaction infrastructure, including dao support and jca integration

org.springframework

spring-web

foundational web support, including web client and web-based remoting

org.springframework

spring-webmvc

http-based model-view-controller and rest endpoints for servlet stacks

org.springframework

spring-webmvc-portlet

mvc implementation to be used in a portlet environment

org.springframework

spring-websocket

websocket and sockjs infrastructure, including stomp messaging support

 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/xingyunblog/p/6926927.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 天天天干夜夜夜操 | 国产精品成人免费一区久久羞羞 | 国产一级大片在线观看 | 免费欧美一级视频 | 亚洲网站免费观看 | av手机免费在线观看 | av免费在线观看av | 精品久久久久久亚洲精品 | 欧美日性 | 精品影视一区二区 | 久久人人人 | 国产女厕所 | 有兽焉免费动画 | 操网| 亚洲最黄视频 | 性欧美性欧美 | 亚洲成人在线视频网站 | 久久精品国产亚洲7777 | 免费看操片 | 视频一区二区视频 | 国产精品夜色视频一级区 | 性欧美xxxx极品摘花 | 久久亚洲一区二区三区成人国产 | 九色中文 | 欧美aaa| 美女露100%无遮挡 | 在线成人免费观看 | 国产精品久久久久久久久久 | 视频一区二区精品 | 中文字幕 亚洲一区 | 免费看成年人视频在线 | 黄色一级视频 | 性 毛片| 男女牲高爱潮免费视频男女 | chinese hd xxxx tube| 亚洲免费网站 | 日本不卡一区二区三区在线观看 | 久草在线新视觉 | 国产91在线播放九色 | 91福利社在线 | 羞羞视频2023 |