Spring 學習教程(一): 認識 Spring 框架

Spring 框架是 Java 應用最廣的框架,它的成功來源于理念,而不是技術本身,它的理念包括?IoC (Inversion of Control,控制反轉)?和?AOP(Aspect Oriented Programming,面向切面編程)

Spring 的框架結構

  • Data Access/Integration層包含有JDBC、ORM、OXM、JMS和Transaction模塊。
  • Web層包含了Web、Web-Servlet、WebSocket、Web-Porlet模塊。
  • AOP模塊提供了一個符合AOP聯盟標準的面向切面編程的實現。
  • Core Container(核心容器):包含有Beans、Core、Context和SpEL模塊。
  • Test模塊支持使用JUnit和TestNG對Spring組件進行測試。

?

Spring IoC 和 DI 簡介

IoC:Inverse of Control(控制反轉)

  • 讀作“反轉控制”,更好理解,不是什么技術,而是一種設計思想,就是將原本在程序中手動創建對象的控制權,交由Spring框架來管理。
  • 正控:若要使用某個對象,需要自己去負責對象的創建
  • 反控:若要使用某個對象,只需要從 Spring 容器中獲取需要使用的對象,不關心對象的創建過程,也就是把創建對象的控制權反轉給了Spring框架
  • 好萊塢法則:Don’t call me ,I’ll call you

?

?

參考:?https://www.tianmaying.com/tutorial/spring-ioc

https://www.tianmaying.com/tutorial/spring-ioc

https://www.tianmaying.com/tutorial/cross-origin-rest-service

轉載于:https://www.cnblogs.com/xiaohuizhenyoucai/p/10843863.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393751.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393751.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393751.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

小米網關控制空調伴侶_小米有品上架移動空調,支持語音控制

近日小米有品商城上架了一款互聯網可移動空調,機身僅有小米空氣凈化器一般大小,底部安裝了萬向輪,支持多方位自由移動,擁有三大功能,兼顧去暑除濕能力,產品售價1599元,有需求的用戶可以在小米有…

錯誤: 找不到符號

Error:(31, 29) 錯誤: 找不到符號 符號: 類 OnLaunchPluginCallback 位置: 類 IreaderPlugApi 明明我都可以ctrl 單擊點過去,但是就是運行的時候報錯。說錯誤: 找不到符號。 我試了兩遍,把工程clearn, 刪除build下面的文件夾,弄了兩遍&am…

leetcode910. 最小差值 II(貪心)

給定一個整數數組 A,對于每個整數 A[i],我們可以選擇 x -K 或是 x K,并將 x 加到 A[i] 中。 在此過程之后,我們得到一些數組 B。 返回 B 的最大值和 B 的最小值之間可能存在的最小差值。 示例 1: 輸入&#xff1…

laravel 檢測sql_在Laravel PHP應用程序中輕松進行面部檢測

laravel 檢測sqlby Darren Chowles達倫喬爾斯(Darren Chowles) 在Laravel PHP應用程序中輕松進行面部檢測 (Easy facial detection in your Laravel PHP application) 使用Google Cloud Vision API檢測圖像中的人臉 (Detect faces in images using the Google Cloud Vision AP…

mysql學習筆記-insert擴展

1、創建表 -利用已有表,創建表 這樣創建的缺點-- 主鍵會丟失 -- 創建表,表結構與數據與t_emptest 一致 CREATE TABLE t_emptest1 AS SELECT * FROM t_emptest ;-- 創建空表,表結構與t_emptest 一致 CREATE TABLE t_emptest1 AS SELECT * FRO…

linux 調用外部變量,sed當中使用變量替換以及執行外部命令

轉自:http://blog.csdn.net/linwhwylb/article/details/7184748在使用sed對日志或者其它文本進行parse的過程當中,有時候我們需要引用外部變量的值,或者獲取一個shell命令執行的結果,以便達到更加可觀的輸出結果。這里介紹如何做到…

golang 結構體斷言_Golang中的reflect原理

反射(reflect)是在計算機程序運行時,訪問,檢查,修改它自身的一種能力,是元編程的一種形式。在Java等語言中都很好地支持了反射。Golang也實現了反射,主要核心位于reflect包,官方文檔…

「hadoop」cdh5.12離線安裝(未完成)

cdh 5.12.1 安裝 目前還未成功,僅供個人記錄。【下載必備工具】當前系統為win7_x641、vmware虛擬機12.52、ubuntu16.04服務器版本3、windows下的ssh工具,采用git bash4、jdk安裝包jdk-8u144-linux-x64.tar.gz5、mysql java驅動包 mysql-connector-java-5…

轉載 JDK + Android-SDK + Python + MonkeyRunner 的安裝

轉載來自: 小海豚的博客 http://blog.sina.com.cn/u/1295334083 我只是搬運工。。。 JDK Android-SDK Python MonkeyRunner 的安裝 1. Android-SDK介紹2. 安裝 JDK, Android-SDK(包含MonkeyRunner) , Python 3. 設置環境變量4. 驗證是否安裝成功1. …

跟隨器反饋回路電阻_如何將短反饋回路設置為單獨編碼器

跟隨器反饋回路電阻I’ve spent the last couple years as a solo freelance developer. Comparing this experience to previously working in companies, I’ve noticed that those of us who work alone can have fewer iterative opportunities for improvement than devel…

leetcode991. 壞了的計算器(貪心)

在顯示著數字的壞計算器上,我們可以執行以下兩種操作: 雙倍(Double):將顯示屏上的數字乘 2; 遞減(Decrement):將顯示屏上的數字減 1 。 最初,計算器顯示數字…

模塊怎么用_Android 組件化/模塊化 的理解!

作者:前行的烏龜到現在組件化真的不是什么新鮮東西了,大公司都用的滾瓜爛熟,龍飛鳳舞了,也就是現在部分中型項目和小項目在組件化的路上努力。所以同志們,組件化沒玩過的,不熟悉的趕緊搞起來,說…

操作系統基礎

操作系統基礎一個完整的操作系統包括 ( kernel application)內核 應用程序而我們要學習操作系統:Linux操作系統我們平時所用的WINDOWS和MS-DOS都是微軟出的,而Linux不是微軟出的,Linux的最大好處是非商業軟件&#x…

leetcode1247. 交換字符使得字符串相同(貪心)

有兩個長度相同的字符串 s1 和 s2,且它們其中 只含有 字符 “x” 和 “y”,你需要通過「交換字符」的方式使這兩個字符串相同。 每次「交換字符」的時候,你都可以在兩個字符串中各選一個字符進行交換。 交換只能發生在兩個不同的字符串之間…

interop_如何在Blazor中實現JavaScript Interop

interop介紹 (Introduction) In this article, we will learn about JavaScript Interop in Blazor. We will understand what JavaScript Interop is and how we can implement it in Blazor with the help of a sample application.在本文中,我們將學習Blazor中Ja…

Centos 7和 Centos 6開放查看端口 防火墻關閉打開

Centos 7 firewall 命令: 查看已經開放的端口: firewall-cmd --list-ports 開啟端口 firewall-cmd --zonepublic --add-port80/tcp --permanent 命令含義: –zone #作用域 –add-port80/tcp #添加端口,格式為:端口/通訊…

和get redis_SpringBoot整合Redis,你get了嗎?

Our-task介紹本篇博客是我github上our-task:一個完整的清單管理系統的配套教程文檔,這是SpringBootVue開發的前后端分離清單管理工具,仿滴答清單。目前已部署在阿里云ECS上,可進行在線預覽,隨意使用(附詳細…

linux課程設計qq,仿QQ聊天系統課程設計.doc

目錄緒論1一.需求分析11.1軟件功能需求分析21.2 安全需求分析2二.總體設計32.1 軟件結構圖32.2 功能描述32.2.1注冊功能概要42.2.2登錄功能概要42.2.3聊天功能概要52.3 安全設計6三.數據庫設計63.1概念結構設計63.2邏輯結構設計73.3物理結構設…

ocp linux 基礎要點

基本命令: 創建/修改/刪除用戶 useradd/usermod/userdel 創建/修改/刪除用戶組 groupadd/groupmod/groupdel 修改所屬用戶/所屬用戶組 chown/chgrp 修改權限 chmod 創建文件夾 mkdir 創建文件 touch 切換目錄 …

leetcode1386. 安排電影院座位(貪心)

如上圖所示,電影院的觀影廳中有 n 行座位,行編號從 1 到 n ,且每一行內總共有 10 個座位,列編號從 1 到 10 。 給你數組 reservedSeats ,包含所有已經被預約了的座位。比如說,researvedSeats[i][3,8] &…