1. 程式人生 > >Spring基礎:快速入門spring(1):基礎概念

Spring基礎:快速入門spring(1):基礎概念

這裡寫圖片描述

作為流行了10年以上的老將,spring依然精神矍鑠,影響不減。本文將對spring很基礎的概念進行介紹以及為學習spring最核心和基礎的知識作環境搭建的準備。

Spring官網

簡介

Spring為JAVA企業級應用提供了一個較為複雜框架流行框架。spring到底能做什麼,或者說spring現在能做什麼?

這裡寫圖片描述

除了spring framework之外還有spring boot/spring data/spring cloud/… 快接近無所不包了。已經非常複雜和活躍。

這裡寫圖片描述

Spring framework

API & Reference

目前Current GA 是4.3.4,對應的API和Reference如下。作為第一參考資料,碰到問題的時候Reference -〉API的順序進行查詢。

工具

工欲善其事,必先利其器。可以使用STS/NeatBean/IDEA直接下載來使用即可。

STS

spring官方推薦,對工具沒有特別的喜好,可以使用STS。其本身就是spring在Eclipse上簡單組裝的。

IDEA

IDEA是收費的軟體,但是可以使用其社群版,基礎功能都已經包含,是很多java程式設計師的最愛。

Eclipse

很多人已經對Eclipse有了很多自定義的設定,對他們來說,spring只是很小的一部分。而實際專案中的開發更為如此,所以本文使用Eclipse中更新STS外掛的方式進行安裝。

Eclipse 4.6 Neon

更新方式

Maven/Gradle

使用Maven或者Gradle管理依賴關係非常的方便,如果你還是習慣於使用ant,那也可以,但是ant不能直接提供依向Maven或者Gradle那樣的依賴關係的自動管理的功能。比如4.3.4的簡單地spring的依賴關係可以寫成如下所示:

Maven dependency

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId
>
spring-context</artifactId> <version>4.3.4.RELEASE</version> </dependency> </dependencies>

Gradle Dependency

dependencies {
    compile 'org.springframework:spring-context:4.3.4.RELEASE'
}

IOC & DI

IOC和DI基本上是一個意思,在spring最初引入的時候,把這種控制的方式稱為IoC(Inversion of Control)。但是後來Martin Fowler等認為其實沒有反轉任何事情,其做的事情只是將注入了依賴關係所以稱之為Dependency Injection,個人認為文字遊戲的成份稍多。
A類的物件通過呼叫B類物件的方法來實現某一功能,在spring中是可以通過Injection的方式來實現的。作為入門者需要理解的是如果沒有IOC應該怎麼做呢,在Spring中被稱為Dependency的可能就是一個簡單的屬性或者方法引數等等等,簡單地來說,通過呼叫setter方法或者建構函式等等,這個就是IOC/DI方式。而通過只在Meta資料中描述實際的類的依賴關係,spring負責把這些擰在一起,同時負責管理其lifecycle,解放了不少的工作,提高了開發的效率。

環境準備

為了更加清楚,使用Eclipse直接倒入spring的庫的方式。熟悉的可以直接跳過。

下載spring庫

準備步驟

Step 1:使用Eclipse建立一個Java專案
Step 2:建立一個lib目錄
Step 3:將上面下載下來的spring的庫檔案全部拷貝到lib目錄中
Step 4:在專案上右鍵->屬性後將lib資料夾下的檔案全部加入

相關推薦

Opencv入門筆記1影象載入、顯示、儲存、轉換灰度圖

影象載入、顯示、儲存函式: 1         影象載入函式:imread()   Mat imread(const string& filename, int flags=1);     const string&型別的filename為載入影象的路徑(

Keras入門實戰1MNIST手寫數字分類

前面的部落格中已經介紹瞭如何在Ubuntu下安裝Keras深度學習框架。 現在我們使用 Keras 庫來學習手寫數字分類。 我們這裡要解決的問題是:將手寫數字的灰度影象(28 畫素×28 畫素)劃分到 10 個類別 中(0~9)。我們將使用 MNIST 資料集,它是機器學

Asp.Net MVC4入門指南1 入門介紹

前言 本教程將為您講解使用微軟的Visual Studio Express 2012或Visual Web Developer 2010 Express Service Pack 1 來建立一個ASP.NET MVC4 Web應用程式所需要的基礎知識。建議您使用Visual Studio 2012,你將不再

學習Qt之基礎篇——從入門開始1

Qt 簡介         Qt是一個跨平臺的C++應用程式開發框架,被廣泛用於開發GUI程式。 Qt有豐富的 API且面向物件。Qt是自由且開放原始碼的軟體,在GNU較寬鬆公共許可證條款下發布。支援廣泛的編譯器,包括GCC的C++編譯器和Visual Studio。 Q

QT入門系列1QT Creator下載與安裝 Helloworld

一、下載與安裝 1.1 下載 從QT官網下載,下載頁:https://www.qt.io/download-open-source/,要先註冊登入帳號才可以下載。點選Offline Installers(離線安裝包),選擇合適系統,我這裡是windows

Numpy快速入門教程SciPy,Matplotlib

首先宣告本篇部落格是本人學習CS231n的學習筆記,分享給大家當作參考。 SciPy Numpy提供了高效能的多維陣列,以及計算和運算元組的基本工具。SciPy基於Numpy,提供了大量的計算和運算元組的函式,這些函式對於不同型別的科學和工程計算非常有用。

OpenFaceswap 入門教程1軟件安裝篇

2-2 install nfa esc github上 中文版 LEDE alt 是什麽 眾多換臉軟件中,DeepFaceLab其實是安裝和使用最方便,更新最快的,但是由於其沒有可是化界面,對於很新手來說,可能入門還是有點難度。那麽今天就來介紹一款操作極其直觀和簡單的換

appium入門1--零基礎搭建自動化環境

目錄 1、關鍵概念 2、安裝過程 2.1、安裝nodejs 2.2、安裝appium 2.3、安裝Android SDK 2.4、安裝模擬器 2.5、安裝Pyt

Thinkphp5.0快速入門筆記1

  學習來源與說明 https://www.kancloud.cn/thinkphp/thinkphp5_quickstart 測試與部署均在windows10下進行學習。 Composer安裝和更新 Composer 是 PHP 用來管理依賴(dependency)關係的工具。可以在自己

Spring基礎快速入門spring cloud1Spring Cloud介紹

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Spring基礎快速入門spring1基礎概念

作為流行了10年以上的老將,spring依然精神矍鑠,影響不減。本文將對spring很基礎的概念進行介紹以及為學習spring最核心和基礎的知識作環境搭建的準備。 Spring官網 簡介 Spring為JAVA企業級應用提供了

Spring基礎快速入門spring boot7spring boot 2.0簡單介紹

從這篇文章開始以spring boot2為主要版本進行使用介紹。 Spring boot 2特性 spring boot2在如下的部分有所變化和增強,相關特性在後續逐步展開。 特性增強 基礎元件升級: JDK1.8+ tomcat 8+ Thymeleaf 3

Spring基礎快速入門spring boot4使用slf4j輸出日誌

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Spring基礎快速入門spring boot2SPRING INITIALIZR

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Spring基礎快速入門spring cloud2服務發現之eureka

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Spring基礎快速入門spring cloud4API閘道器之Zuul

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Spring基礎快速入門spring boot10spring boot + sonarqube +jacoco

上篇文章我們瞭解到瞭如何使用SonarQube對建立的SpringBoot的應用進行分析,這篇文章來接著確認一些如何視覺化地確認測試覆蓋率。 SpringBootTest 需要測試覆蓋率,自然,在此之前需要有測試用例,在前面的例子中已經簡單講述了在SpringBoot應用中進行

Spring基礎快速入門spring boot9使用sonarqube來檢查技術債務

作為程式碼質量檢查的流行工具,比如Sonarqube能夠檢查程式碼的“七宗罪”,跟程式碼結合起來能夠更好地提高程式碼的質量,讓我們來看一下,剛剛寫的Springboot2的HelloWorld的程式碼有什麼“罪”。 Sonarqube Sonarqube可以使用docker

Spring基礎快速入門spring boot8使用Junit進行測試

使用Junit或者TestNG可以進行單體測試,這篇文章簡單說明一下如何在Spring boot的專案中使用Junit進行單體測試。 pom設定 pom中需要新增spring-boot-starter-test <dependency> <g

Spring基礎快速入門spring cloudAPI閘道器之Zuul

Spring Cloud是Spring總多的Project中的一個,它提供了一整套的工具幫助系統架構師們在進行分散式設計的時候可以拿來即用, 在建立和釋出微服務時極為便捷和有效。 本系列文章將會使用最簡單的例子和最為容易的方式來學習Spring Cloud。本文將會介紹如何引入Zuul在