所需知識准備
Springboot、繼承、多態、面向接口編程、注解、spring底層機制
基本原理
-
spring的controller內部Bean是final的單例模式,在系統初始化的時候可以進行引用對象覆蓋
-
spring打包的時候,不需要默認的

因為他在打成war(jar)包會把class文件進行保護,放到BOOT-INF下面,導致外部無法進行重寫和重構
3. 靜態類和靜態方法是無法進行重寫的
4. 使用一個接口,來派生出多個接口實現類,達到高可用狀態
5. 不使用@SpringBootApplication啟動的情況下,可以使用自定義來確定啟動類
6. 配置類需要設定spring的bean掃描包信息

具體例子
基礎平台
首先創建第一個spingboot的項目(以下簡稱A項目),如果不知道如何創建springboot項目,請自行百度。
在A項目中的pom.xml文件中去除spring打包配置,進行刪除
設置本地maven工具包。具體相關的maven包,請查看附件
在pom文件中設置maven發包配置
編寫自己的service接口
編寫自己的service實現類
編寫自己的controller
編寫spring啟動文件,並且設置controller掃描路徑(如果和controller在同一級下面就不用設置)
編寫對外支持的spring配置文件信息,並且設置掃描路徑(controller和service)
編寫配置文件信息,設置spring的初始化類
點擊運行,查看是否運行成功,注意如果存在端口沖突,可以在application.properties中設置server.post:端口號
發包到私服上面去,如果是重復發布需要先刪除私服上面的包或者設置私服可以重復發布。每次發布必須版本號更新。Maven執行順序,clean,complie,deploy

查看私服上面有沒有包文件。
其他平台或產品平台
首先創建spingboot的項目(以下簡稱B項目),如果不知道如何創建springboot項目,請自行百度。
設置本地maven工具包。具體相關的maven包,請查看附件
在B項目中的pom.xml文件中引用A項目

在pom文件中設置maven發包配置
可以重寫引用包的servier實現,用繼承或者接口進行實現。建議使用繼承
重寫service實現,需要加入配置文件重新寫Bean信息,切記如果A項目中對於Service定義了Bean的名字,那么重寫以后,定義Bean的時候,必須要名字一樣。
例如:A項目中定義了service的名字叫做testService,
B項目中如果重寫了,必須要在配置文件中重寫Bean的申明。而且名字必須一樣。
下圖1中:由於我是按照接口進行申明的,所以,返回的是接口類型。而實際的是類的初始化。
另:如果controller(Service)中父類注入了其他的bean信息,可以直接在初始化方法里面進行注入。Spring會默認注入相關參數。詳情見下圖2,
圖1
圖2
重寫controller和service是一樣的操作步驟,都是注意bean的名字信息必須一致


啟動項目
啟動以后,就可以查看到映射的地址和基礎平台里面的一樣。而加載的類是不一樣的

檢查
1.加載的是二開平台或產品平台重寫過的數據信息

- 1
- 2
- 3
2..如果沒有重寫,加載的是基礎平台返回的數據信息
3.service重載了也是一樣的

