系列一、Spring Framework

一、Spring Framework

1.1、概述

  • Spring是一個輕量級的開源的JavaEE框架;
  • Spring可以解決企業應用開發的復雜性;
  • Spring有兩個核心部分:IOC和AOP
    ①??IOC:控制反轉,把創建對象的過程交給Spring進行管理;
    ②?AOP:面向切面編程,即:在不修改源代碼的情況下進行功能增強;
  • Spring特點:
    ① 方便解耦、簡化開發(AOP實現);????????
    ②?AOP編程支持;
    ③?方便程序測試(Spring整合Junit單元測試);
    ④?方便和其他框架進行整合(整合JdbcTemplate、整合MyBatis、整合Redis...);
    ⑤?方便進行事務操作(聲明式事務【xml方式】、聲明式事務【注解方式】);
    ⑥?降低API開發難度(IOC實現);

1.2、談談你對Spring的理解(面試)

????????Spring是一個生態,是一個輕量級的開源容器框架,可以構建Java應用所需要的一切基礎設施,它的出現是為了解決企業級應用開發中業務邏輯層和其他各層對象與對象之間耦合的問題,通常情況下所說的Spring是指Spring Framework。

1.3、?Spring的優缺點是什么(面試)

優點:

? ? ? ? ① 集中管理對象,降低對象和對象之間的耦合性,方便維護對象;
????????② 在不修改代碼的情況下可以對業務代碼進行增強,減少重復代碼,提高開發效率,方便維護;
????????③ 提高開發效率,只需要一個@Transactional注解,即可完成事務管理;
????????④ Spring實現了測試,使我們可以結合Junit非常方便的測試Spring Bean、SpringMVC;
????????⑤ 擁有非常強大的粘合度,集成能力非常強,只需要簡單的配置就可以集成第三方框架;
????????⑥ 簡化開發,幫我們封裝了很多功能性的代碼
? ? ? ? ⑦ Spring的底層大量使用了反射、設計模式等技術,提供了非常多的擴展接口供外部進行擴展,很值得我們去學習;

缺點:

? ? ? ? ①?從應用層方面來講Spring是沒有缺點的;

? ? ? ? ②?Spring簡化了我們的日常開發,但是如果我們想要深入到底層去了解的話就非常困難(上層使用越簡單,底層封裝的就越復雜);

????????③?源碼缺點:由于Spring大而全,代碼量非常龐大(100多萬行代碼),對于去深入學習研究帶來了一定的困難;

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

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

相關文章

PSP - 從頭搭建 抗原類別 (GPCR) 的 蛋白質結構預測 項目流程

歡迎關注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/134595717 GPCRs(G Protein-Coupled Receptors,G蛋白偶聯受體),又稱為7次跨膜受體,是細…

界面組件Telerik UI for WinForms中文教程 - 創建明暗模式的桌面應用

黑暗模式現在在很多應用程序中都挺常見的,但如何在桌面應用程序中實現它呢?這很簡單,本文將為大家介紹如何使用一個類和命令行調用來實現! Telerik UI for WinForms擁有適用Windows Forms的110多個令人驚嘆的UI控件。所有的UI fo…

Appium 全新 2.0 全新跨平臺生態,版本特性搶鮮體驗!

關于Appium V2 Appium V2 beta版本在2021年發布,從2022年1月1號開始,Appium核心團隊不會再維護Appium 1.x版本了,所有近期官方發布的平臺驅動(如Android平臺的UIAutomator,IOS平臺的XCUITest)不再兼容Appi…

shrio----(1)基礎

文章目錄 前言 一、Shrio1、什么是shiro2、為什么使用shrio 二、主要類2.1、Subject2.2、SecurityManager2.3、Realms 三、認證授權3.1、認證(Authentication)3.2、授權(authorization)四、入門示例參考文章 前言 簡單入門介紹 一、Shrio http://shir…

【譯】Spring 6 入參數據校驗: 綜合指南

一、前言 在 Spring 6.1 中,有一個非常值得注意的重要改進——編程式驗證器實現。Spring 長期以來一直通過注解支持聲明式驗證,而 Spring 6.1 則通過提供專用的編程式驗證方法引入了這一強大的增強功能。 編程式驗證允許開發人員對驗證過程進行細粒度控…

網站定制開發有哪些分類?|企業軟件app小程序定制

網站定制開發有哪些分類?|企業軟件app小程序定制 網站定制開發是指根據客戶需求,為其量身定制設計和開發的網站服務。目前,網站定制開發主要分為以下幾個分類: 1. 靜態網站定制開發:靜態網站是由HTML、CSS和JavaScrip…

手寫promise(3)-- 實例方法 靜態方法

目錄 實例方法 catch finally 靜態方法 reslove reject race all allSettled any 實例方法 提供給promise實例的方法 包括catch 與finally catch Promise 實例的 catch() 方法用于注冊一個在 promise 被拒絕時調用的函數。它會立即返回一個等效的 Promise 對象&…

一文詳解 requests 庫中 json 參數和 data 參數的用法

在requests庫當中,requests請求方法,當發送post/put/delete等帶有請求體的請求時,有json和data2個參數可選。 眾所周知,http請求的請求體格式主要有以下4種: application/json applicaiton/x-www-from-urlencoded …

java堆文件排查

技術主題 在之前的開發的一個項目中,因為程序的一個bug,導致一些引用的對象一直沒有回收,從而導致堆內存一直在增大,老年代一直在增大,老年代進行堆積,后來的排查思路是通過dump堆的文件,然后對…

Dockerfile-CentOS7.9+Python3.11.2

本文為CentOS7.9下安裝Python3.11.2環境的Dockerfile # CentOS with Python3.11.2 # Author xxmail.com# build a new image with basic centos FROM centos:centos7.9.2009 # who is the author MAINTAINER xxmail.comRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/…

vue的生命周期及不同階段狀態可以進行的行為

什么是vue的生命周期? Vue 的實例從創建到銷毀的過程 ,就是生命周期 ,也就是從開始創建 ,初始化數據 ,編譯模板 ,掛載Dom到渲染DOM ,更新數據再到渲染 ,卸載等一系列的過程 &#x…

OpenAI研發神秘“Q*”模型:科學家認輸,AI贏了人類關鍵一戰

圖片來源:視覺中國 作者丨葉蓁 編輯丨康曉 出品丨深網騰訊新聞小滿工作室 在山姆奧特曼(Sam Altman)被OpenAI前董事會突然罷免之前,數位研究人員向董事會發送了一封信,警告稱他們發現了一種能夠威脅到人類的強大人工…

IIS 基線安全加固操作

目錄 賬號管理、認證授權 ELK-IIS-01-01-01 ELK-IIS-01-01-02 ELK-IIS-01-01-03 ELK-IIS-01-01-04 日志配置 ELK-IIS-02-01-01 ELK-IIS-02-01-02 ??????? ELK-IIS-02-01-03 通信協議 ELK-IIS-03-01-01 設備其他安全要求 ELK-IIS-04-01-01 ??????? ELK-I…

【DDS】OpenDDS配置與使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 這篇文章主要介紹OpenDDS配置與使用。 無專精則不能成,無涉獵則不能通。——梁啟超 歡迎來到我的博客,一起學習,共同進步。 喜歡的朋友可以關注一下,下次更…

華為云編譯構建CodeArts Build常見問答匯總

1.【Build】公有云編譯構建是否支持導入外部機器做執行機 答:參考鏈接:https://support.huaweicloud.com/usermanual-devcloud/devcloud_01_0017.html ? 使用代理機功能,需要配備1臺4U8G或以上規格、磁盤>80GB的主機。 ? 安裝代理的…

Ubuntu 啟用 root 用戶

在啟用 root 用戶之前,我們先來了解一下, ubuntu 命令的組成。 打開 ubuntu 的終端,現在的命令行是由 topeetubuntu:~$ 這幾個字母組成,那么這幾個字母都代表 什么意思呢? topeet …

配電室智慧運維監控系統

配電室智能運維監控系統是一個綜合性的管理系統,專門針對配電室的運維工作進行設計。依托電易云-智慧電力物聯網,它融合了先進的監測技術、自動化技術、數據分析技術等,對配電室進行全方位、實時的智能化監控和管理,以提升配電室運…

人工智能對當代生活的影響

人工智能(AI)是指通過模擬人類智能的方式,使機器能夠執行某些需要智能的任務。隨著技術的快速發展和應用的廣泛推廣,人工智能已經深入到我們的日常生活中,對我們的生活和社會產生了深遠的影響。本文將探討人工智能對當…

Django同時連接多種數據庫

我的使用場景需要同時連接達夢數據庫和MYSQL數據庫,有的功能需要查詢達夢,有的功能則需要查詢MYSQL。 第一步:在 Django 的 settings.py 文件中,配置多個數據庫連接。你可以在 DATABASES 字典中添加多個數據庫配置。每個數據庫配置…

關于 Google AMP 和 SEO

Google 于 2015 年首次推出 AMP,即加速移動頁面。借助開源 AMP 框架,網頁設計師可以制作快速加載的移動網頁。該框架的創建是為了應對使用移動設備訪問互聯網的個人數量的增加。從那時起,谷歌一直在推動使用 AMP 來增強移動設備上的 SEO 和用…