SSM和SSH不同主要在MVC實(shí)現(xiàn)方式,以及ORM持久化方面不同(Hiibernate與Mybatis)。
創(chuàng)新互聯(lián)建站自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元黔西南州做網(wǎng)站,已為上家服務(wù),為黔西南州各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
SSM優(yōu)勢(shì):
SSM越來(lái)越輕量級(jí)配置,將注解開(kāi)發(fā)發(fā)揮到極致,且ORM實(shí)現(xiàn)更加靈活,SQL優(yōu)化更簡(jiǎn)便。
SSH優(yōu)勢(shì):
而SSH較注重配置開(kāi)發(fā),其中的Hiibernate對(duì)JDBC的完整封裝更面向?qū)ο?,?duì)增刪改查的數(shù)據(jù)維護(hù)更自動(dòng)化,但SQL優(yōu)化方面較弱,且入門門檻稍高。
SSH 通常指的是 Struts2 做控制器(controller),spring 管理各層的組件,hibernate 負(fù)責(zé)持久化層。
SSM 則指的是 SpringMVC 做控制器(controller),Spring 管理各層的組件,MyBatis 負(fù)責(zé)持久化層。
共同點(diǎn):
1、Spring依賴注入DI來(lái)管理各層的組件。
2、用面向切面編程AOP管理事物、日志、權(quán)限等。
不同點(diǎn):
1、Struts2 和 SpringMVC 控制器(controller)控制視圖和模型的交互機(jī)制的不同,
2、Struts2是Action類級(jí)別,SpringMVC是方法級(jí)別,更容易實(shí)現(xiàn)RESTful風(fēng)格。
擴(kuò)展資料
SSM和SSH是當(dāng)下流行的兩種企業(yè)開(kāi)發(fā)MVC開(kāi)源框架。
MVC,即模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面。
在改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫業(yè)務(wù)邏輯。框架之所以流行,在于其易復(fù)用和簡(jiǎn)化開(kāi)發(fā),精髓在思想,掌握了核心思想,掌握其他類似框架也不會(huì)有問(wèn)題。
/*回答內(nèi)容很長(zhǎng),能看完的少走一個(gè)月彎路,絕不抖機(jī)靈*/
提前預(yù)警:本文適合Java新手閱讀(老手可在評(píng)論區(qū)給下建議),希望大家看完能有所收獲。
廢話不多少了,先了解一下Java零基礎(chǔ)入門學(xué)習(xí)路線:
第一階段:JavaSE階段
變量、數(shù)據(jù)類型、運(yùn)算符
二進(jìn)制和十進(jìn)制的轉(zhuǎn)化
注釋、單行注釋、多行注釋、文本注釋、注釋內(nèi)容和字節(jié)碼的關(guān)系
標(biāo)識(shí)符、關(guān)鍵字、駝峰原則
變量的本質(zhì)、內(nèi)存畫(huà)圖、變量聲明和初始化
變量的分類和作用域(局部變量、成員變量、靜態(tài)變量)
常量和Final
基本數(shù)據(jù)類型介紹
整型變量和整型常量
浮點(diǎn)類型、float、double
char字符型、轉(zhuǎn)義字符
boolean布爾型、if語(yǔ)句使用要點(diǎn)、布爾類型占用空間問(wèn)題
運(yùn)算符介紹
算數(shù)運(yùn)算符(二元、自增、自減)
賦值和賦值運(yùn)算符
關(guān)系運(yùn)算符詳解
邏輯運(yùn)算符、短路運(yùn)算符詳解
位運(yùn)算符詳解
字符串連接符
條件運(yùn)算符(三元運(yùn)算符)
運(yùn)算符優(yōu)先級(jí)問(wèn)題
自動(dòng)類型轉(zhuǎn)換詳解
強(qiáng)制類型裝換詳解
基本數(shù)據(jù)類型裝換常見(jiàn)錯(cuò)誤、溢出、L問(wèn)題
使用Scanner獲取鍵盤輸入
控制語(yǔ)句
控制語(yǔ)句和實(shí)現(xiàn)邏輯對(duì)應(yīng)
if單選結(jié)構(gòu)
if_elseif_else多選結(jié)構(gòu)
switch語(yǔ)句_IDEA更換主題
循環(huán)_while
循環(huán)_for循環(huán)_dowhile
嵌套循環(huán)
break和continue語(yǔ)句_標(biāo)簽_控制語(yǔ)句底層原理
寫一個(gè)年薪計(jì)算機(jī)_百度查問(wèn)題的秘訣(重要)
個(gè)人所得稅計(jì)算器軟件
方法核心詳解_天才思維模型教你高手學(xué)習(xí)思維模式
方法的重載
遞歸結(jié)構(gòu)講解_遞歸頭_遞歸體
面向?qū)ο缶幊?基礎(chǔ)
面向過(guò)程和面向?qū)ο蟮膮^(qū)別
類和對(duì)象的概述
類的屬性和方法
創(chuàng)建對(duì)象內(nèi)存分析
構(gòu)造方法(Construtor)及重載
對(duì)象類型的參數(shù)傳遞
this關(guān)鍵字
static關(guān)鍵字詳解
局部代碼塊、構(gòu)造代碼塊和靜態(tài)代碼塊
package和import詳解
JavaDoc生成API文檔
面向?qū)ο缶幊?進(jìn)階
面向?qū)ο蟮娜筇匦?/p>
面向?qū)ο笾痉庋b(Encapsulation)】
訪問(wèn)權(quán)限修飾符
面向?qū)ο笾纠^承(Inheritance)】
Object類
方法重寫Override
super關(guān)鍵字詳解
重寫equals()和toString()
繼承中對(duì)象創(chuàng)建的內(nèi)存分析
面向?qū)ο笾径鄳B(tài)(Polymorphism)】
向上轉(zhuǎn)型
向下轉(zhuǎn)型
instanceof運(yùn)算符
編譯時(shí)和運(yùn)行時(shí)詳解
final修飾符
抽象類和抽象方法(abstrct)
接口的定義和實(shí)現(xiàn)
JDK8的接口新特性
接口應(yīng)用:內(nèi)部類比較器Comparable
內(nèi)部類詳解
Java的內(nèi)存管理與垃圾回收
異常機(jī)制
異常的概述
異常的執(zhí)行過(guò)程與分析
try-catch-finally捕捉異常
throw拋出異常
throws聲明異常
異常繼承體系
運(yùn)行時(shí)異常和編譯異常
自定義異常
Java常用類
Wrapper包裝類
自動(dòng)裝箱和自動(dòng)拆箱
包裝類的源碼分析
String類的使用與內(nèi)存原理
String類的源碼分析
StringBuffer
StringBuilder
字符串處理類性能分析
Date類
System類
DateFormat類
Calendat類
Math類
BigInteger類和BigDecimal類
Random類
枚舉類
File類
常見(jiàn)的面試題講述與分析
數(shù)據(jù)結(jié)構(gòu)算法
數(shù)據(jù)結(jié)構(gòu)的概述
線性表
順序表
鏈表
棧和隊(duì)列
樹(shù)
二叉樹(shù)
二叉查找樹(shù)
二叉平衡樹(shù)
黑紅樹(shù)
圖
冒泡排序
選擇排序
遞歸
折半查找
集合(容器)
集合和數(shù)組的聯(lián)系和區(qū)別
集合框架體系
ArrayList的使用和源碼分析
集合中使用泛型
LinkedList的使用和源碼分析
HashSet的使用和源碼分析
哈希表及原理
TreeSet的使用和源碼分析
比較器Comparable和Comparator
HashMap的使用和源碼分析
TreeMap的使用和源碼分析
Iterator于ListIterator
Collections工具類
舊集合類Vector、Hashtable
集合總結(jié)和選擇依據(jù)
泛型接口
泛型類
泛型方法
IO流
IO流的概念
IO流的分類及其原理分析
文件流FlieInputStream、FileOutputStream
緩沖流BufferedInputStream、BufferedOutputStream
數(shù)據(jù)流ObjectInputStream、ObjectOutputStream
序列化和反序列化
轉(zhuǎn)換流InputStreamReader、OutputStreamWriter
打印流PrintWrite和PrintStream
數(shù)組流ByteArrayOutputStream、ByteArrayInputStream
使用IO復(fù)制文件夾
多線程
進(jìn)程和線程
線程的創(chuàng)建與啟動(dòng)
創(chuàng)建線程的三種方式對(duì)比
線程的生命周期
線程控制
多線程的安全問(wèn)題與解決辦法
線程的同步:同步代碼塊
線程的同步:同步方法
線程的同步:Lock鎖
線程的死鎖問(wèn)題
線程通信
Condition
線程的完整生命周期
線程池ThreadPoolExecutor
ForkJoin框架
ThreadLocal類
網(wǎng)絡(luò)編程
計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識(shí)
網(wǎng)絡(luò)通信協(xié)議
OSI參考模型
TCP/IP參考模型
數(shù)據(jù)的封裝與拆封原理解析
TCP協(xié)議
UDP協(xié)議
IP地址和端口號(hào)
URL和Socket
使用TCP編程實(shí)現(xiàn)登錄功能
使用UDP編程實(shí)現(xiàn)客服系統(tǒng)
使用TCP編程實(shí)現(xiàn)文件上傳
集合提升尋訓(xùn)練
手寫ArrayList
手寫單鏈表
手寫Linkedlist
手寫HashMap
手寫HashSet
最新并發(fā)集合類
多線程提升訓(xùn)練
生產(chǎn)者消費(fèi)者模式擴(kuò)展
Lock鎖和Condition
ReadWriteLock
BlockingQueue
volatile關(guān)鍵字
多線程題目練習(xí)
JDK新特征
面試題詳解
設(shè)計(jì)模式
設(shè)計(jì)模式入門
面向?qū)ο笤O(shè)計(jì)七大原則
簡(jiǎn)單工廠模式
工廠方法模式
單例模式
原型模式
裝飾模式
適配器模式
外觀模式
第二階段:數(shù)據(jù)庫(kù)
MySQL基礎(chǔ)
數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)
MySQL基礎(chǔ)知識(shí)
MySQL8新特征
安裝和卸載MySQL8
使用navicat訪問(wèn)數(shù)據(jù)庫(kù)
SQL語(yǔ)言入門
創(chuàng)建數(shù)據(jù)庫(kù)表
DML
修改刪除數(shù)據(jù)庫(kù)表
表的完整性約束
表的外鍵約束
DML擴(kuò)展
MySQL 查詢語(yǔ)句
基本select查詢
where子句
函數(shù)
group by
having
SQL99-內(nèi)連接查詢
SQL99-外連接查詢
SQL99-自連接查詢
SQL92-連接查詢
不相關(guān)子查詢
相關(guān)子查詢
分頁(yè)查詢
數(shù)據(jù)庫(kù)對(duì)象
索引
事務(wù)及其特征
事務(wù)的并發(fā)問(wèn)題
事務(wù)的隔離級(jí)別
存儲(chǔ)過(guò)程
導(dǎo)入導(dǎo)出數(shù)據(jù)
JDBC
JDBC概述
使用JDBC完成添加/更新/刪除操作
使用JDBC完成查詢操作
JDBC常用接口
使用PreparedStatement
使用事務(wù)完成銀行轉(zhuǎn)賬
提取DBUtil工具類
使用Properties讀寫屬性文件
日志框架log4j
開(kāi)發(fā)員工管理系統(tǒng)
第三階段:JavaEE階段
Servlet
web開(kāi)發(fā)概述
B/S和C/S架構(gòu)簡(jiǎn)介
HTTP協(xié)議
HTTP請(qǐng)求頭和響應(yīng)頭
Tomcat安裝使用
Tomcat目錄結(jié)構(gòu)
Servlet概述
Servlet快速入門
Servlet生命周期
讀取配置文件信息
HttpServletRequest
HttpServletResponse
GET和POST區(qū)別
解決中文亂碼
請(qǐng)求轉(zhuǎn)發(fā)與重定向
絕對(duì)路徑和相對(duì)路徑
Cookie
Session
ServletContext
ServletConfig
JSP
JSP技術(shù)介紹
JSP的執(zhí)行過(guò)程
scriptlet
表達(dá)式
聲明
JSP指令元素
JSP動(dòng)作元素
JSP隱式對(duì)象
JSP底層原理
九大內(nèi)置對(duì)象
四個(gè)作用域
Servlet和JSP的關(guān)系和區(qū)別
MVC模式
合并Servlet
JavaScript
JavaScript概述與特點(diǎn)
JS基礎(chǔ)語(yǔ)法
函數(shù)
數(shù)組
Math對(duì)象
String對(duì)象
Date對(duì)象
事件event
瀏覽器開(kāi)發(fā)者工具
console
DOM和BOM
window
location
navigator
history
認(rèn)識(shí)DOM
DOM獲取元素
jQuery
jQuery簡(jiǎn)介及快速入門
jQuery入口函數(shù)
jQuery對(duì)象與DOM對(duì)象互相轉(zhuǎn)換
基本選擇器
屬性選擇器
位置選擇器
表單選擇器
內(nèi)容選擇器
jQuery事件
jQuery動(dòng)畫(huà)效果
DOM操作-操作文本
DOM操作-操作屬性
DOM操作-操作元素
直接操作CSS樣式
操作CSS類樣式
購(gòu)物車案例
表單驗(yàn)證
正則表達(dá)式
EL+JSTL+過(guò)濾器+監(jiān)聽(tīng)器
EL介紹及使用
EL取值原理
EL隱含對(duì)象
EL邏輯運(yùn)算
JSTL介紹-核心標(biāo)簽庫(kù)
JSTL核心標(biāo)簽庫(kù)
JSTL-格式標(biāo)簽庫(kù)
Filter原理
Filter生命周期
Filter鏈
Filter登錄驗(yàn)證
Filter權(quán)限控制
Listener概述及分類
Listener監(jiān)聽(tīng)在線用戶
Ajax和JSON
Ajax異步請(qǐng)求和局部刷新的原理
使用原生Ajax驗(yàn)證用戶唯一性
jQuery Ajax
JSON的格式和使用
主要JSON解析器
Jackson的使用
Jackson的實(shí)現(xiàn)原理
使用jQuery Ajax實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)
使用jQuery Ajax實(shí)現(xiàn)自動(dòng)補(bǔ)全
分頁(yè)和文件上傳/下載
分頁(yè)的意義
理解分頁(yè)工具類
實(shí)現(xiàn)基本分頁(yè)
實(shí)現(xiàn)帶查詢的分頁(yè)
文件上傳原理
文件上傳API
實(shí)現(xiàn)文件上傳
文件下載原理
文件下載響應(yīng)頭
實(shí)現(xiàn)文件下載
第四階段:框架階段
MyBatis
MyBatis概述
MyBatis入門配置
基本的CRUD操作
核心配置文件詳解
Mapper.xml基礎(chǔ)詳解
模糊查詢
分頁(yè)的實(shí)現(xiàn)及插件PageHelper的使用
動(dòng)態(tài)sql+sql片段的使用
一對(duì)多、多對(duì)一的關(guān)系處理
注解的使用
一級(jí)緩存和二級(jí)緩存說(shuō)明及使用
generator逆向工程使用
Spring
Spring框架簡(jiǎn)介
Spring官方壓縮包目錄介紹
Spring環(huán)境搭建
IoC/DI容器詳解
Spring創(chuàng)建Bean的三種方式
scope屬性講解
Spring中幾種注入方式
靜態(tài)代理設(shè)計(jì)模式
動(dòng)態(tài)代理設(shè)計(jì)模式
AOP詳解
AOP中幾種通知類型
AOP兩種實(shí)現(xiàn)方式
自動(dòng)注入
聲明式事務(wù)
事務(wù)傳播行為
事務(wù)隔離級(jí)別
只讀事務(wù)
事務(wù)回滾
基于注解式配置
常用注解
Spring 整合MyBatis
i18n
Spring整合Junit
SpringMVC
MVC架構(gòu)模式
手寫MVC框架
SpringMVC簡(jiǎn)介
SpringMVC運(yùn)行原理
基于配置文件方式搭建環(huán)境
基于注解方式搭建環(huán)境
SpringMVC的跳轉(zhuǎn)及視圖解析器的配置
SpringMVC和Ajax的交互
Spring 參數(shù)注入
SpringMVC作用域傳值
視圖解析器
文件下載
文件上傳
Spring攔截器/攔截器棧
登錄狀態(tài)驗(yàn)證
SpringMVC容器和Spring容器介紹
異常處理4種方式
SpringMVC5其他常用注解
Maven
Maven簡(jiǎn)介
Maven原理
Linux安裝及注意事項(xiàng)
Maven項(xiàng)目結(jié)構(gòu)
POM模型
Maven 中項(xiàng)目類型
創(chuàng)建WAR類型的Maven項(xiàng)目
scope屬性可取值
SSM項(xiàng)目拆分演示
Maven的常見(jiàn)插件講解
熱部署
BootStrap
BootStrap概述
BootStrap柵格系統(tǒng)
BootStrap常用全局CSS樣式
常用組件
常用JavaScript插件
RBAC
RBAC概述
RBAC發(fā)展歷史
基于RBAC的數(shù)據(jù)庫(kù)表設(shè)計(jì)
URL攔截實(shí)現(xiàn)
動(dòng)態(tài)菜單實(shí)現(xiàn)
密碼學(xué)
第五階段:前后端分離階段
Spring Boot
Spring Boot簡(jiǎn)介
Spring Boot實(shí)現(xiàn)Spring MVC
配置文件順序及類型講解
Spring Boot項(xiàng)目結(jié)構(gòu)
Spring Boot 整合MyBatis
Spring Boot 整合Druid
Spring Boot 整合PageHelper
Spring Boot 整合logback
Spring Boot 整合JSP
Spring Boot 整合Thymeleaf
Spring Boot 開(kāi)發(fā)者工具
Spring Boot 異常顯示頁(yè)面
Spring Boot 整合Junit4
Spring Boot 項(xiàng)目打包部署
Spring Boot 整合Quartz
Spring Boot 中Interceptor使用
Spring Boot Actuator
HikariCP
Logback
Logback簡(jiǎn)介
Logback依賴說(shuō)明
Logback 配置文件講解
Logback 控制臺(tái)輸出
Logback 文件輸出
Logback 數(shù)據(jù)庫(kù)輸出
Spring Security
Spring Security簡(jiǎn)介
Spring Security架構(gòu)原理
什么是認(rèn)證和授權(quán)
基礎(chǔ)環(huán)境搭建
自定義認(rèn)證流程
UserDetailsService和UserDetails
PasswordEncoder
自定義認(rèn)證結(jié)果
授權(quán)-訪問(wèn)路徑匹配方式
授權(quán)-權(quán)限管理
基于注解實(shí)現(xiàn)權(quán)限管理
Thymeleaf整合Security權(quán)限管理
Rememberme 實(shí)現(xiàn)
退出實(shí)現(xiàn)
CSRF
Linux - CentOS 8
Linux簡(jiǎn)介
VMWare安裝及使用
Linux安裝及注意事項(xiàng)
Linux目錄結(jié)構(gòu)及路徑
Linux常用命令
VMWare常用配置
XShell安裝及使用
Xftp安裝及使用
JDK解壓版配置步驟
Tomcat配置步驟
安裝MySQL
WAR包部署
Docker
Docker簡(jiǎn)介
Docker與VM對(duì)比
Docker特點(diǎn)
Docker架構(gòu)
Docker安裝與啟動(dòng)
鏡像加速器配置
Docker鏡像操作常用命令
Docker容器操作常用命令
DockerFile
搭建本地鏡像倉(cāng)庫(kù)
推送鏡像到阿里云及本地倉(cāng)庫(kù)
Docker容器生命周期
Docker數(shù)據(jù)管理
Redis
Redis簡(jiǎn)介
Redis 單機(jī)版安裝
Redis 數(shù)據(jù)類型介紹
Redis 常用命令
Redis 持久化方案
Redis 的主從搭建
Redis的哨兵搭建
Redis 的集群搭建
Spring Boot整合Spring Data Redis
Redis的緩存穿透
Redis的緩存雪崩
Redis的緩存擊穿
Vue
vsCode和插件安裝
webpack介紹
Vue項(xiàng)目創(chuàng)建
Vue模板語(yǔ)法
Vue條件渲染
Vue列表渲染
Vue事件處理
Vue計(jì)算屬性
Vue Class與Style
Vue表單處理
Vue組件
Vue組件生命周期
Vue 路由配置
Vue Axios網(wǎng)絡(luò)請(qǐng)求
Vue跨域處理
Vue Element
Mock.js
Swagger
Swagger2簡(jiǎn)介
Springfox
Swagger2基本用法
Swagger-UI用法
Swagger2配置
Swagger2常用配置
Git/GitEE
Git的下載和安裝
Git和SVN對(duì)比
Git創(chuàng)建版本庫(kù)
Git版本控制
Git遠(yuǎn)程倉(cāng)庫(kù)
Git分支管理
Git標(biāo)簽管理
GitEE建庫(kù)
GitEE 連接及使用
GitEE 組員及管理員配置
第六階段:微服務(wù)架構(gòu)
FastDFS
分布式文件系統(tǒng)概述
FastDFS簡(jiǎn)介
FastDFS架構(gòu)
Tracker Server
Storage Server
FastDFS安裝
安裝帶有FastDFS模塊的Nginx
Fastdfs-java-client的使用
創(chuàng)建Fastdfs-java-client工具類
實(shí)現(xiàn)文件上傳與下載
KindEditor介紹
通過(guò)KindEditor實(shí)現(xiàn)文件上傳并回顯
RabbitMQ
AMQP簡(jiǎn)介
RabbitMQ簡(jiǎn)介
安裝Erlang
安裝RabbitMQ
RabbitMQ原理
Spring Boot 集成RabbitMQ
RabbitMQ的交換器
Spring AMQP的使用
Spring Cloud Netflix Eureka
Eureka簡(jiǎn)介
Eureka和Zookeeper 對(duì)比
搭建Eureka注冊(cè)中心
Eureka 服務(wù)管理平臺(tái)介紹
搭建高可用集群
集群原理
Eureka優(yōu)雅停服
Spring Cloud Netflix Ribbon
Ribbon簡(jiǎn)介
集中式與進(jìn)程內(nèi)負(fù)載均衡區(qū)別
Ribbon常見(jiàn)的負(fù)載均衡策略
Ribbon的點(diǎn)對(duì)點(diǎn)直連
Spring Cloud OpenFeign
Feign簡(jiǎn)介
Feign的請(qǐng)求參數(shù)處理
Feign的性能優(yōu)化
配置Feign負(fù)載均衡請(qǐng)求超時(shí)時(shí)間
Spring Cloud Netflix Hystrix
Hystrix簡(jiǎn)介
服務(wù)降級(jí)
服務(wù)熔斷
請(qǐng)求緩存
Feign的雪崩處理
可視化的數(shù)據(jù)監(jiān)控Hystrix-dashboard
Spring Cloud Gateway
Spring Cloud Gateway簡(jiǎn)介
Gateway基于配置文件實(shí)現(xiàn)路由功能
Gateway基于配置類實(shí)現(xiàn)路由功能
Gateway中內(nèi)置過(guò)濾器的使用
Gateway中自定義GatewayFilter過(guò)濾器的使用
Gateway中自定義GlobalFilter過(guò)濾器的使用
Gateway中使用過(guò)濾器實(shí)現(xiàn)鑒權(quán)
Gateway結(jié)合Hystrix實(shí)現(xiàn)熔斷功能
Spring Cloud Config
什么是分布式配置中心
創(chuàng)建配置中心服務(wù)端
創(chuàng)建配置中心客戶端
基于Gitee存儲(chǔ)配置文件
基于分布式配置中心實(shí)現(xiàn)熱刷新
Spring Cloud Bus
什么是消息總線
基于消息總線實(shí)現(xiàn)全局熱刷新
ELK
ElasticSearch介紹
ElasticSearch單機(jī)版安裝
ElasticSearch集群版安裝
ElasticSearch索引管理
ElasticSearch文檔管理
ElasticSearch文檔搜索
SpringDataElasticSearch訪問(wèn)ElasticSearch
LogStash介紹
基于LogStash收集系統(tǒng)日志
TX-LCN
分布式事務(wù)簡(jiǎn)介
分布式事務(wù)兩大理論依據(jù)
分布式事務(wù)常見(jiàn)解決方案
LCN簡(jiǎn)介
TX-LCN的3種模式
LCN原理
LCN環(huán)境搭建及Demo演示
Nginx
Nginx的簡(jiǎn)介
什么是正向代理、反向代理
Nginx的安裝
Nginx配置虛擬主機(jī)
Nginx配置服務(wù)的反向代理
Nginx的負(fù)載均衡配置
Spring Session
Spring Session介紹
通過(guò)Spring Session共享session中的數(shù)據(jù)
通過(guò)Spring Session同步自定義對(duì)象
Spring Session的Redis存儲(chǔ)結(jié)構(gòu)
設(shè)置Session失效時(shí)間
Spring Session序列化器
MyBatis Plus
MyBatis Plus簡(jiǎn)介
Spring整合MyBatis Plus
MyBatis Plus的全局策略配置
MyBatis 的主鍵生成策略
MyBatis Plus的CRUD操作
條件構(gòu)造器EntityWrapper講解
MyBatis Plus的分頁(yè)插件配置
MyBatis Plus的分頁(yè)查詢
MyBatis Plus的其他插件講解
MyBatis Plus的代碼生成器講解
MyBatis Plus的公共字段自動(dòng)填充
ShardingSphere
簡(jiǎn)介
數(shù)據(jù)庫(kù)切分方式
基本概念
MySQL主從配置
切片規(guī)則
讀寫分離
實(shí)現(xiàn)分庫(kù)分表
第七階段:云服務(wù)階段
Kafka
Kafka簡(jiǎn)介
Kafka架構(gòu)
分區(qū)和日志
Kafka單機(jī)安裝
Kafka集群配置
自定義分區(qū)
自動(dòng)控制
Spring for Apache Kafka
Zookeeper
Zookeeper簡(jiǎn)介和安裝
Zookeeper 數(shù)據(jù)模型
Zookeeper 單機(jī)版安裝
Zookeeper常見(jiàn)命令
ZClient操作Zookeeper
Zookeeper 集群版安裝
Zookeeper 客戶端常用命令
Zookeeper分布式鎖
RPC
什么是分布式架構(gòu)
什么是RFC、RPC
HttpClient實(shí)現(xiàn)RPC
RestTemplate
RMI實(shí)現(xiàn)RPC
基于Zookeeper實(shí)現(xiàn)RPC 遠(yuǎn)程過(guò)程調(diào)用
Dubbo
SOA架構(gòu)介紹
Dubbo簡(jiǎn)介
Dubbo結(jié)構(gòu)圖
Dubbo注冊(cè)中心
Dubbo 支持的協(xié)議
Dubbo 注冊(cè)中心搭建
Spring Boot 整合 Dubbo
Admin管理界面
Dubbo 搭建高可用集群
Dubbo 負(fù)載均衡
Spring Cloud Alibaba Dubbo
Spring Cloud Alibaba Dubbo簡(jiǎn)介
基于Zookeeper發(fā)布服務(wù)
基于Zookeeper訂閱服務(wù)
實(shí)現(xiàn)遠(yuǎn)程服務(wù)調(diào)用處理
Spring Cloud Alibaba Nacos
Spring Cloud Alibaba Nacos簡(jiǎn)介
搭建Nacos服務(wù)器
基于Nacos發(fā)布|訂閱服務(wù)
實(shí)現(xiàn)遠(yuǎn)程服務(wù)調(diào)用處理
Nacos Config配置中心
Spring Cloud Alibaba Sentinel
Spring Cloud Alibaba Sentinel簡(jiǎn)介
搭建Sentinel服務(wù)器
Sentinel-實(shí)時(shí)監(jiān)控
Sentinel-簇點(diǎn)鏈路
Sentinel-授權(quán)規(guī)則
Sentinel-系統(tǒng)規(guī)則
@SentinelResource注解
持久化規(guī)則
Spring Cloud Alibaba Seata
Spring Cloud Alibaba Seata簡(jiǎn)介
搭建Seata服務(wù)器
Seata支持的事務(wù)模式-AT模式
Seata支持的事務(wù)模式-TCC模式
Seata支持的事務(wù)模式-Saga模式
Seata支持的事務(wù)模式-XA模式
SeataAT事務(wù)模式應(yīng)用方式
SeataTCC事務(wù)模式應(yīng)用方式
如何系統(tǒng)學(xué)習(xí)java體系
學(xué)java首先要學(xué) J2SE,它是java體系的基礎(chǔ),也是重中之重。很多人往往不重視基礎(chǔ),其實(shí)這是舍本逐末的做法。說(shuō)這么多就是希望大家能重視基礎(chǔ),能在這條路上走的更遠(yuǎn)。
學(xué)j2se有下面幾個(gè)目標(biāo):
1、你要能真正理解面向?qū)ο蟮膬?yōu)勢(shì),理解為什么不是面向過(guò)程。
2、掌握java語(yǔ)法基礎(chǔ)。包括異常處理、多線程、網(wǎng)絡(luò)編程、GUI編程等
3、如果你對(duì)swing不感興趣,可以跳過(guò)它。
這一階段結(jié)束后,你需要能獨(dú)立寫一個(gè)小游戲,比如坦克大戰(zhàn)、俄羅斯方塊、貪吃蛇等。
當(dāng)你完成J2SE的學(xué)習(xí)之后,你就要開(kāi)始學(xué)習(xí)java web了。
你需要掌握web基礎(chǔ)知識(shí):html、css、javascript、ajax、jQuery。
別怕,這些技術(shù)看起來(lái)很多,其實(shí)也沒(méi)要你精通它們,只是要你能在用到它們的時(shí)候,能通過(guò)快速查閱相關(guān)文檔,能正確使用它們。如果這一階段順利的話,你可能還用不到一個(gè)月。
學(xué)習(xí)servlet、jsp、jdbc。
這些是javaweb的基礎(chǔ),如果你自學(xué)有難度,可以在網(wǎng)上下載一些相關(guān)視頻,幫助理解,降低學(xué)習(xí)難度曲線。
當(dāng)你完成上一階段的學(xué)習(xí)后,你就可以進(jìn)入J2EE的階段了。
這一階段,你可能會(huì)見(jiàn)到很多各種各樣的框架,會(huì)讓你眼花繚亂,頭暈?zāi)垦!2贿^(guò)別擔(dān)心,你只需要學(xué)習(xí)三個(gè)就足夠了。它們是struts2、hibernate、spring。這些框架為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制。
首先你需要學(xué)習(xí)三個(gè)框架的基本配置和使用,直到你能熟練搭建一個(gè)ssh項(xiàng)目。
如果學(xué)有余力,你可以深入學(xué)習(xí)這些框架的設(shè)計(jì)模式。
學(xué)習(xí)完三大框架之后,其實(shí)你學(xué)的已經(jīng)足夠多了。如果對(duì)移動(dòng)應(yīng)用的開(kāi)發(fā)感興趣,你可以接著學(xué)習(xí)安卓開(kāi)發(fā)。安卓開(kāi)發(fā)不需要其他知識(shí),只要你j2se學(xué)的不錯(cuò),學(xué)安卓開(kāi)發(fā)對(duì)你就沒(méi)太大難度了。
學(xué)習(xí)java的30個(gè)目標(biāo) ----要想學(xué)好,這就必須搞清楚 好好努力吧 1.你需要精通面向?qū)ο蠓治雠c設(shè)計(jì)(OOA/OOD)、涉及模式(GOF,J2EEDP)以及綜合模式。你應(yīng)該十分了解UML,尤其是class,object,interaction以及statediagrams。 2.你需要學(xué)習(xí)JAVA語(yǔ)言的基礎(chǔ)知識(shí)以及它的核心類庫(kù)(collections,serialization,streams,networking, multithreading,reflection,event,handling,NIO,localization,以及其他)。 3.你應(yīng)該了解JVM,classloaders,classreflect,以及垃圾回收的基本工作機(jī)制等。你應(yīng)該有能力反編譯一個(gè)類文件并且明白一些基本的匯編指令。 4.如果你將要寫客戶端程序,你需要學(xué)習(xí)WEB的小應(yīng)用程序(applet),必需掌握GUI設(shè)計(jì)的思想和方法,以及桌面程序的SWING,AWT, SWT。你還應(yīng)該對(duì)UI部件的JAVABEAN組件模式有所了解。JAVABEANS也被應(yīng)用在JSP中以把業(yè)務(wù)邏輯從表現(xiàn)層中分離出來(lái)。 5.你需要學(xué)習(xí)java數(shù)據(jù)庫(kù)技術(shù),如JDBCAPI并且會(huì)使用至少一種persistence/ORM構(gòu)架,例如Hibernate,JDO, CocoBase,TopLink,InsideLiberator(國(guó)產(chǎn)JDO紅工廠軟件)或者iBatis。 6.你還應(yīng)該了解對(duì)象關(guān)系的阻抗失配的含義,以及它是如何影響業(yè)務(wù)對(duì)象的與關(guān)系型數(shù)據(jù)庫(kù)的交互,和它的運(yùn)行結(jié)果,還需要掌握不同的數(shù)據(jù)庫(kù)產(chǎn)品運(yùn)用,比如:oracle,mysql,mssqlserver。 7.你需要學(xué)習(xí)JAVA的沙盒安全模式(classloaders,bytecodeverification,managers,policyandpermissions, codesigning, digitalsignatures,cryptography,certification,Kerberos,以及其他)還有不同的安全/認(rèn)證 API,例如JAAS(JavaAuthenticationandAuthorizationService),JCE (JavaCryptographyExtension),JSSE(JavaSecureSocketExtension),以及JGSS (JavaGeneralSecurityService)。 8.你需要學(xué)習(xí)Servlets,JSP,以及JSTL(StandardTagLibraries)和可以選擇的第三方TagLibraries。 9.你需要熟悉主流的網(wǎng)頁(yè)框架,例如JSF,Struts,Tapestry,Cocoon,WebWork,以及他們下面的涉及模式,如MVC/MODEL2。 10.你需要學(xué)習(xí)如何使用及管理WEB服務(wù)器,例如tomcat,resin,Jrun,并且知道如何在其基礎(chǔ)上擴(kuò)展和維護(hù)WEB程序。 11.你需要學(xué)習(xí)分布式對(duì)象以及遠(yuǎn)程API,例如RMI和RMI/IIOP。 12.你需要掌握各種流行中間件技術(shù)標(biāo)準(zhǔn)和與java結(jié)合實(shí)現(xiàn),比如Tuxedo、CROBA,當(dāng)然也包括javaEE本身。 13.你需要學(xué)習(xí)最少一種的XMLAPI,例如JAXP(JavaAPIforXMLProcessing),JDOM(JavaforXMLDocumentObjectModel),DOM4J,或JAXR(JavaAPIforXMLRegistries)。 14.你應(yīng)該學(xué)習(xí)如何利用JAVAAPI和工具來(lái)構(gòu)建WebService。例如JAX-RPC(JavaAPIforXML/RPC),SAAJ (SOAPwithAttachmentsAPIforJava),JAXB(JavaArchitectureforXMLBinding),JAXM(JavaAPIforXMLMessaging), JAXR(JavaAPIforXMLRegistries),或者JWSDP(JavaWebServicesDeveloperPack)。 15.你需要學(xué)習(xí)一門輕量級(jí)應(yīng)用程序框架,例如Spring,PicoContainer,Avalon,以及它們的IoC/DI風(fēng)格(setter,constructor,interfaceinjection)。 16.你需要熟悉不同的J2EE技術(shù),例如JNDI(JavaNamingandDirectoryInterface),JMS (JavaMessageService),JTA/JTS(JavaTransactionAPI/JavaTransactionService),JMX (JavaManagementeXtensions),以及JavaMail。 17.你需要學(xué)習(xí)企業(yè)級(jí)JavaBeans(EJB)以及它們的不同組件模式:Stateless/StatefulSessionBeans,EntityBeans(包含Bean- ManagedPersistence[BMP]或者Container-ManagedPersistence[CMP]和它的EJB-QL),或者 Message-DrivenBeans(MDB)。 18.你需要學(xué)習(xí)如何管理與配置一個(gè)J2EE應(yīng)用程序服務(wù)器,如WebLogic,JBoss等,并且利用它的附加服務(wù),例如簇類,連接池以及分布式處理支援。你還需要了解如何在它上面封裝和配置應(yīng)用程序并且能夠監(jiān)控、調(diào)整它的性能。 19.你需要熟悉面向方面的程序設(shè)計(jì)以及面向?qū)傩缘某绦蛟O(shè)計(jì)(這兩個(gè)都被很容易混淆的縮寫為AOP),以及他們的主流JAVA規(guī)格和執(zhí)行。例如AspectJ和AspectWerkz。 20.你需要熟悉對(duì)不同有用的API和frame work等來(lái)為你服務(wù)。例如Log4J(logging/tracing),Quartz (scheduling),JGroups(networkgroupcommunication),JCache(distributedcaching), Lucene(full-textsearch),JakartaCommons等等。 21.如果你將要對(duì)接或者正和舊的系統(tǒng)或者本地平臺(tái),你需要學(xué)習(xí)JNI (JavaNativeInterface) and JCA (JavaConnectorArchitecture)。 22.你需要熟悉JINI技術(shù)以及與它相關(guān)的分布式系統(tǒng),比如掌握CROBA。 23.你需要JavaCommunityProcess(JCP)以及他的不同JavaSpecificationRequests(JSRs),例如Portlets(168),JOLAP(69),DataMiningAPI(73),等等。 24.你應(yīng)該熟練掌握一種JAVAIDE例如sunOne,netBeans,IntelliJIDEA或者Eclipse。(有些人更喜歡VI或EMACS來(lái)編寫文件。隨便你用什么了:) 25.JAVA(精確的說(shuō)是有些配置)是冗長(zhǎng)的,它需要很多的人工代碼(例如EJB),所以你需要熟悉代碼生成工具,例如XDoclet。 26.你需要熟悉一種單元測(cè)試體系(JNunit),并且學(xué)習(xí)不同的生成、部署工具(Ant,Maven)。 27.你需要熟悉一些在JAVA開(kāi)發(fā)中經(jīng)常用到的軟件工程過(guò)程。例如RUP(RationalUnifiedProcess)andAgilemethodologies。 28.你需要能夠深入了解加熟練操作和配置不同的操作系統(tǒng),比如GNU/linux,sunsolaris,macOS等,做為跨平臺(tái)軟件的開(kāi)發(fā)者。 29.你還需要緊跟java發(fā)展的步伐,比如現(xiàn)在可以深入的學(xué)習(xí)javaME,以及各種java新規(guī)范,技術(shù)的運(yùn)用,如新起的web富客戶端技術(shù)。 30.你必需要對(duì)opensource有所了解,因?yàn)橹辽賘ava的很多技術(shù)直接是靠開(kāi)源來(lái)驅(qū)動(dòng)