Spring 項(xiàng)目 Java 訪問(wèn)修飾符 + 非訪問(wèn)修飾符全景梳理詳解
前言Java 修飾符分為兩大體系訪問(wèn)權(quán)限修飾符控制類 / 成員可見范圍、非訪問(wèn)修飾符定義特性、生命周期、Spring 框架專屬語(yǔ)義。 SpringBoot/Spring 開發(fā)中修飾符貫穿 Controller、Service、Mapper、實(shí)體類、工具類、配置類全場(chǎng)景不同修飾符搭配注解會(huì)產(chǎn)生截然不同的 Bean 生命周期、依賴注入、序列化、繼承效果。 本文以多表格拆分 場(chǎng)景適配 Spring 工程實(shí)操規(guī)范完整梳理。一、第一大類訪問(wèn)權(quán)限修飾符4 個(gè)控制可見范圍核心作用限定類、成員變量、成員方法、構(gòu)造器可被調(diào)用的范圍作用域從小到大排序private 默認(rèn)(包私有) protected public表 1四大訪問(wèn)修飾符作用域?qū)φ毡硇揎椃形拿Q本類內(nèi)部同一個(gè)包下其他類子類不同包任意包所有類Spring 項(xiàng)目常規(guī)使用場(chǎng)景private私有? 可見? 不可見? 不可見? 不可見1.Service 注入的 Mapper 成員變量 2. 實(shí)體類 PO/DO 所有屬性字段 3. 工具類內(nèi)部私有工具方法 4. 常量私有成員無(wú)修飾符 default包私有 / 默認(rèn)? 可見? 可見? 不可見? 不可見Spring 極少主動(dòng)使用僅同一包內(nèi)協(xié)作工具類臨時(shí)方法protected受保護(hù)? 可見? 可見? 可見? 不可見1. 父類公共基礎(chǔ) PO 審計(jì)字段createTime/updateTime 2. 抽象父 Service 通用業(yè)務(wù)模板方法public公共? 可見? 可見? 可見? 可見1.Controller 所有接口方法 2.Service 接口定義、實(shí)現(xiàn)類對(duì)外業(yè)務(wù)方法 3.Mapper 接口 4. 對(duì)外暴露的工具類靜態(tài)方法表 2訪問(wèn)修飾符使用硬性規(guī)范Spring 工程最佳實(shí)踐代碼元素推薦修飾符禁止使用原因說(shuō)明實(shí)體類 PO/DTO/Form 屬性字段privatepublic封裝特性通過(guò) get/set 訪問(wèn)Jackson 序列化默認(rèn)適配私有字段Service 層注入 Mapper 對(duì)象privatepublic/protected依賴注入無(wú)需對(duì)外暴露保證封裝Controller 接口請(qǐng)求方法public其他SpringMVC 需要外部反射調(diào)用接口方法必須 public業(yè)務(wù)接口XXXServicepublicdefault跨包調(diào)用實(shí)現(xiàn)類必須公共工具類內(nèi)部工具方法privatepublic僅類內(nèi)調(diào)用無(wú)需對(duì)外開放抽象父類模板方法protectedprivate供子類重寫拓展外部不可調(diào)用二、第二大類基礎(chǔ)非訪問(wèn)修飾符Java 原生核心修飾符Spring 高頻搭配注解使用模塊 1static 靜態(tài)修飾符表 3static 修飾不同元素效果 Spring 場(chǎng)景修飾對(duì)象核心特性Spring 開發(fā)適用場(chǎng)景禁忌場(chǎng)景static 變量靜態(tài)變量屬于類本身不屬于實(shí)例全局唯一一份內(nèi)存所有對(duì)象共享1. 全局常量public static final 2. 工具類全局配置參數(shù)不能修飾 Autowired 注入成員靜態(tài)變量無(wú)法被 Spring 自動(dòng)注入static 方法靜態(tài)方法無(wú)需 new 實(shí)例類名。方法名 () 直接調(diào)用內(nèi)部只能訪問(wèn)靜態(tài)資源通用工具類日期轉(zhuǎn)換、Bean 拷貝、加解密工具方法不能調(diào)用非靜態(tài)成員不能加 Transactional 事務(wù)注解事務(wù)依賴實(shí)例代理static 代碼塊類加載時(shí)執(zhí)行一次僅初始化靜態(tài)資源工具類加載初始化配置、加載證書文件業(yè)務(wù)層幾乎不用static 內(nèi)部類脫離外部類可獨(dú)立實(shí)例化復(fù)雜 DTO 嵌套內(nèi)部枚舉 / 子對(duì)象極少使用模塊 2final 最終修飾符不可修改表 4final 修飾不同元素規(guī)則對(duì)照表修飾對(duì)象語(yǔ)義約束Spring 項(xiàng)目使用場(chǎng)景final 變量賦值一次后永久不可修改1. 全局常量public static final String REDIS_PREFIX user:;2. 方法入?yún)⒔狗椒▋?nèi)篡改入?yún)?duì)象引用final 方法子類無(wú)法重寫該方法父類固定模板方法不允許子類篡改核心邏輯final 類類不能被繼承無(wú)子類1. 通用工具類BeanUtil、DateUtil 2. 枚舉類默認(rèn)都是 final模塊 3abstract 抽象修飾符面向接口編程核心Spring 架構(gòu)基石表 5abstract 使用規(guī)則 業(yè)務(wù)場(chǎng)景修飾對(duì)象約束規(guī)則Spring 架構(gòu)場(chǎng)景abstract 抽象類不能 new 實(shí)例可包含抽象方法 普通成員變量 / 普通方法通用父 BaseService、BaseController封裝分頁(yè)、異常統(tǒng)一處理abstract 抽象方法無(wú)方法體必須被子類實(shí)現(xiàn)重寫模板方法模式定義業(yè)務(wù)標(biāo)準(zhǔn)流程子類差異化實(shí)現(xiàn)關(guān)鍵接口 interface 默認(rèn)所有方法都是 public abstract模塊 4synchronized /volatile/transient 并發(fā)序列化修飾符表 6并發(fā) 序列化修飾符場(chǎng)景明細(xì)修飾符核心作用Spring 使用場(chǎng)景synchronized同步鎖保證多線程原子性、可見性定時(shí)任務(wù)多線程并發(fā)爭(zhēng)搶資源、庫(kù)存扣減簡(jiǎn)易加鎖分布式推薦 Redissonvolatile保證變量?jī)?nèi)存可見性禁止指令重排多線程全局開關(guān)標(biāo)記定時(shí)任務(wù)啟停標(biāo)記transient序列化忽略字段PO 實(shí)體中不需要存入 Redis / 序列化的臨時(shí)字段三、第三大類Spring 生態(tài)專屬語(yǔ)義修飾結(jié)合注解生效Java 原生修飾符 Spring 注解聯(lián)動(dòng)Spring 不會(huì)新增語(yǔ)法修飾符但通過(guò)原生修飾符 框架注解賦予特殊生命周期、依賴注入、代理特性是業(yè)務(wù)開發(fā)最常用組合。表 7Autowired 注入場(chǎng)景修飾符搭配規(guī)范成員變量修飾符搭配 Autowired 效果推薦度privateSpring 反射無(wú)視私有權(quán)限可正常注入封裝性最好????? 標(biāo)準(zhǔn)寫法protected子類可直接訪問(wèn)注入對(duì)象適合父子 Service 繼承場(chǎng)景????public外部可隨意修改注入 Bean破壞容器單例不推薦?final搭配構(gòu)造注入推薦寫法private final UserMapper userMapper;構(gòu)造器注入不可變 Bean????? Spring 官方推薦表 8Bean 作用域 修飾符聯(lián)動(dòng)單例 / 多例修飾符組合Bean 生命周期特性使用場(chǎng)景private static Autowired禁止使用靜態(tài)變量只會(huì)注入一次單例容器下會(huì)出現(xiàn)注入失效? 嚴(yán)禁private final 構(gòu)造注入Bean 創(chuàng)建完成后無(wú)法被修改線程安全無(wú)循環(huán)依賴隱患? 生產(chǎn)首選四、第四大類方法專屬修飾符匯總接口 / 實(shí)現(xiàn)類方法全覆蓋表 9方法所有修飾符組合含義對(duì)照表修飾符組合適用位置核心作用public voidController 接口方法接收前端 http 請(qǐng)求SpringMVC 反射調(diào)用public OverrideService 實(shí)現(xiàn)類重寫接口方法實(shí)現(xiàn)業(yè)務(wù)規(guī)范編譯器校驗(yàn)方法簽名protected abstract抽象父類模板方法預(yù)留拓展點(diǎn)子類必須實(shí)現(xiàn)private static工具類內(nèi)部靜態(tài)工具方法全局調(diào)用無(wú)狀態(tài)線程安全public static final常量工具方法邏輯永久固定不可重寫private synchronized類內(nèi)多線程同步方法本地鎖保證線程安全五、綜合總表Spring 分層代碼全層級(jí)修飾符標(biāo)準(zhǔn)配置表 10項(xiàng)目各層代碼統(tǒng)一修飾符規(guī)范企業(yè)級(jí)開發(fā)標(biāo)準(zhǔn)代碼分層代碼元素標(biāo)準(zhǔn)修飾符補(bǔ)充說(shuō)明控制層 Controller類public交給 SpringMVC 掃描注冊(cè) Bean請(qǐng)求接口方法public必須公共才能被外部訪問(wèn)業(yè)務(wù)層 Service業(yè)務(wù)接口public跨包調(diào)用接口實(shí)現(xiàn)類ServicepublicIOC 容器托管注入 Mapper 成員變量private final構(gòu)造器注入官方最優(yōu)方案業(yè)務(wù)實(shí)現(xiàn)方法public供上層調(diào)用數(shù)據(jù)訪問(wèn)層 MapperMapper 接口publicMyBatis 掃描生成代理對(duì)象實(shí)體層 PO/DTO/Form實(shí)體類public序列化反射需要所有屬性字段private封裝get/set 訪問(wèn)get/set 方法publicJackson 序列化依賴公共 getter通用工具類工具類public final禁止繼承工具方法public static類名直接調(diào)用全局常量public static final統(tǒng)一配置常量配置類 Configuration配置類publicSpring 掃描配置 BeanBean 生成對(duì)象方法public容器注冊(cè)第三方組件六、高頻易錯(cuò)坑點(diǎn)總結(jié)? 靜態(tài)變量不能使用 Autowiredstatic 屬于類加載階段早于 Spring 容器初始化注入一定會(huì)失效? private 方法不能加 TransactionalSpring 事務(wù)基于 JDK/CGLIB 動(dòng)態(tài)代理私有方法無(wú)法被代理攔截事務(wù)不生效? final 成員變量推薦構(gòu)造器注入杜絕字段注入循環(huán)依賴問(wèn)題線程安全性更高? 實(shí)體屬性一律 private遵循 Java 封裝原則適配 JSON 序列化、MyBatis 字段映射? 接口內(nèi)變量默認(rèn) public static final方法默認(rèn) public abstract無(wú)需手動(dòng)書寫。

相關(guān)新聞

企業(yè)AI知識(shí)庫(kù)搭建指南:從架構(gòu)設(shè)計(jì)到落地的全鏈路工程實(shí)踐

企業(yè)AI知識(shí)庫(kù)搭建指南:從架構(gòu)設(shè)計(jì)到落地的全鏈路工程實(shí)踐

企業(yè)AI知識(shí)庫(kù)搭建指南:從架構(gòu)設(shè)計(jì)到落地的全鏈路工程實(shí)踐 [配圖:企業(yè)AI知識(shí)庫(kù)搭建全流程架構(gòu)圖,展示從需求分析到部署上線的完整鏈路] 前言 隨著大模型技術(shù)的快速演進(jìn),企業(yè)AI知識(shí)庫(kù)已從"概念驗(yàn)證"階段進(jìn)入"規(guī)?;洹?/p>

2026/8/2 12:11:51 閱讀更多
超低損耗 PTFE 復(fù)合介質(zhì)芯層,廣氟 GFN 系列構(gòu)筑高頻 PCB 基材國(guó)產(chǎn)化核心壁壘

超低損耗 PTFE 復(fù)合介質(zhì)芯層,廣氟 GFN 系列構(gòu)筑高頻 PCB 基材國(guó)產(chǎn)化核心壁壘

毫米波通信、半導(dǎo)體測(cè)試載板、高頻覆銅板、航空航天雷達(dá)等高端電子領(lǐng)域的快速迭代,對(duì) PCB 基板的高頻電學(xué)穩(wěn)定性、高低溫尺寸穩(wěn)定性、介質(zhì)損耗控制提出了嚴(yán)苛標(biāo)準(zhǔn)。傳統(tǒng) FR-4 環(huán)氧樹脂板材受制于基材分子結(jié)構(gòu)與玻纖編織帶來(lái)的玻纖效應(yīng),在 10GHz 及以上高…

2026/8/2 12:11:07 閱讀更多
優(yōu)惠券省錢APP數(shù)據(jù)庫(kù)優(yōu)化:海量訂單分庫(kù)分表策略與索引調(diào)優(yōu)指南

優(yōu)惠券省錢APP數(shù)據(jù)庫(kù)優(yōu)化:海量訂單分庫(kù)分表策略與索引調(diào)優(yōu)指南

優(yōu)惠券省錢APP數(shù)據(jù)庫(kù)優(yōu)化:海量訂單分庫(kù)分表策略與索引調(diào)優(yōu)指南 大家好,我是省賺客APP研發(fā)者微賺淘客! 在電商返利領(lǐng)域,訂單數(shù)據(jù)的增長(zhǎng)速度是驚人的。隨著用戶量的激增,單表數(shù)據(jù)量突破千萬(wàn)甚至億級(jí)是常態(tài)。面對(duì)海量訂單…

2026/8/1 0:23:05 閱讀更多
Gemini 1.5 Flash長(zhǎng)上下文模型實(shí)戰(zhàn):從成本解析到代碼庫(kù)、文檔分析應(yīng)用

Gemini 1.5 Flash長(zhǎng)上下文模型實(shí)戰(zhàn):從成本解析到代碼庫(kù)、文檔分析應(yīng)用

1. 從“1塊8讀完三體”說(shuō)起:我們到底在期待什么? 最近,谷歌AI扔下了一顆“性價(jià)比”炸彈,標(biāo)題黨們紛紛打出了“1塊8讀完3本《三體》”的噱頭。這個(gè)數(shù)字乍一看確實(shí)抓人眼球,但作為一個(gè)在AI應(yīng)用和成本優(yōu)化上折騰了多年的老…

2026/8/2 12:05:39 閱讀更多
1.54英寸OLED模塊驅(qū)動(dòng)全攻略:從硬件選型到ESP32/STM32實(shí)戰(zhàn)應(yīng)用

1.54英寸OLED模塊驅(qū)動(dòng)全攻略:從硬件選型到ESP32/STM32實(shí)戰(zhàn)應(yīng)用

1. 項(xiàng)目概述:1.54英寸OLED模塊的入門與核心價(jià)值如果你正在尋找一塊尺寸適中、顯示效果驚艷、又足夠省電的屏幕來(lái)為你的嵌入式項(xiàng)目“點(diǎn)睛”,那么1.54英寸的OLED模塊絕對(duì)是一個(gè)繞不開的明星選手。我手頭這塊模塊,分辨率通常是128x64或240x240&a…

2026/8/2 12:05:39 閱讀更多
終極macOS菜單欄管理工具Ice:重新定義macOS界面自定義體驗(yàn)

終極macOS菜單欄管理工具Ice:重新定義macOS界面自定義體驗(yàn)

終極macOS菜單欄管理工具Ice:重新定義macOS界面自定義體驗(yàn) 【免費(fèi)下載鏈接】Ice Powerful menu bar manager for macOS 項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ice/Ice Ice是一款專為macOS 14設(shè)計(jì)的強(qiáng)大菜單欄管理工具,它通過(guò)創(chuàng)新的三層…

2026/8/2 12:05:39 閱讀更多
5分鐘掌握本地視頻字幕提?。簭姆爆嵉礁咝У娜麦w驗(yàn)

5分鐘掌握本地視頻字幕提?。簭姆爆嵉礁咝У娜麦w驗(yàn)

5分鐘掌握本地視頻字幕提取:從繁瑣到高效的全新體驗(yàn) 【免費(fèi)下載鏈接】video-subtitle-extractor 視頻硬字幕提取,生成srt文件。無(wú)需申請(qǐng)第三方API,本地實(shí)現(xiàn)文本識(shí)別?;谏疃葘W(xué)習(xí)的視頻字幕提取框架,包含字幕區(qū)域檢測(cè)、字幕內(nèi)容提…

2026/8/2 12:05:39 閱讀更多
API接口全解析:從核心原理到實(shí)戰(zhàn)調(diào)用的完整指南

API接口全解析:從核心原理到實(shí)戰(zhàn)調(diào)用的完整指南

1. 項(xiàng)目概述:從“黑話”到“普通話”的API接口解讀 API接口,這四個(gè)字母組合在一起,聽起來(lái)就像是技術(shù)圈里的一道“黑話墻”,把很多剛?cè)腴T的朋友擋在了門外。你可能在調(diào)試程序時(shí),遇到過(guò)“400 Bad Request”的錯(cuò)誤&#x…

2026/8/2 11:45:24 閱讀更多
MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案 【免費(fèi)下載鏈接】MoneyPrinterPlus AI一鍵批量生成各類短視頻,自動(dòng)批量混剪短視頻,自動(dòng)把視頻發(fā)布到抖音,快手,小紅書,視頻號(hào)上,賺錢從來(lái)沒有這么容易過(guò)! 支持本地語(yǔ)音模型chatTTS,fasterwhisper,…

2026/8/2 0:04:00 閱讀更多
3分鐘搞定!QQ空間歷史說(shuō)說(shuō)完整備份終極指南

3分鐘搞定!QQ空間歷史說(shuō)說(shuō)完整備份終極指南

3分鐘搞定!QQ空間歷史說(shuō)說(shuō)完整備份終極指南 【免費(fèi)下載鏈接】GetQzonehistory 獲取QQ空間發(fā)布的歷史說(shuō)說(shuō) 項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過(guò),那些年發(fā)過(guò)的QQ空間說(shuō)說(shuō),那些記錄青春的文字…

2026/8/2 0:04:01 閱讀更多
MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案 【免費(fèi)下載鏈接】MoneyPrinterPlus AI一鍵批量生成各類短視頻,自動(dòng)批量混剪短視頻,自動(dòng)把視頻發(fā)布到抖音,快手,小紅書,視頻號(hào)上,賺錢從來(lái)沒有這么容易過(guò)! 支持本地語(yǔ)音模型chatTTS,fasterwhisper,…

2026/8/2 0:04:00 閱讀更多
3分鐘搞定!QQ空間歷史說(shuō)說(shuō)完整備份終極指南

3分鐘搞定!QQ空間歷史說(shuō)說(shuō)完整備份終極指南

3分鐘搞定!QQ空間歷史說(shuō)說(shuō)完整備份終極指南 【免費(fèi)下載鏈接】GetQzonehistory 獲取QQ空間發(fā)布的歷史說(shuō)說(shuō) 項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過(guò),那些年發(fā)過(guò)的QQ空間說(shuō)說(shuō),那些記錄青春的文字…

2026/8/2 0:04:01 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應(yīng)用材料(Applied Materials)公司生產(chǎn)的一款用于半導(dǎo)體設(shè)備的I/O信號(hào)分配電路板。該型號(hào)(0100-02186)的核心特點(diǎn)如下:專用于Endura等半導(dǎo)體工藝腔室。集成信號(hào)路由與分配功能。連接控制…

2026/8/2 2:51:21 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動(dòng)機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動(dòng)機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動(dòng)機(jī)是日本日清(Nissei)品牌的一款工業(yè)用三相異步電機(jī),適用于自動(dòng)化設(shè)備及通用機(jī)械驅(qū)動(dòng)。該型號(hào)(FFMN-32L-10-T0 40AX)的核心特點(diǎn)如下:三相交流異步電動(dòng)機(jī)。額定…

2026/8/2 2:52:49 閱讀更多