一、配置文件的編寫(xiě)
1.配置文件
為方便我們的開(kāi)發(fā),我們需要構(gòu)建三個(gè)環(huán)境下的配置文件分別是通用環(huán)境、開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境下的yml格式配置文件
并且在開(kāi)發(fā)環(huán)境配置中配置好我們的數(shù)據(jù)庫(kù)和日志
2.導(dǎo)入依賴
(這個(gè)是在初始化spring boot項(xiàng)目時(shí)就自動(dòng)導(dǎo)入了)
需要用到的有JPA、thymeleaf、devtools、aop等
二、日志框架處理
(這個(gè)可以自己配置也可以不配,根據(jù)自己的使用習(xí)慣,我是跟著視頻的QAQ,不配置的話用默認(rèn)的也可以)
1.默認(rèn)配置
2.個(gè)性配置
3.自動(dòng)生成的日志文件
三、頁(yè)面處理
1. 控制器
通過(guò)控制器來(lái)處理命令,使用注解@GetMapping或者@PostMapping等進(jìn)行處理
可以通過(guò)一系列控制器實(shí)現(xiàn)各鐘功能
控制器示例:
貌似Spring boot默認(rèn)訪問(wèn)頁(yè)面就是index
2.配置錯(cuò)誤友好頁(yè)面
4xX 5XX分別是服務(wù)端和客戶端有錯(cuò)誤時(shí)會(huì)默認(rèn)跳轉(zhuǎn)的頁(yè)面
這里有個(gè)坑!:
注意使用thymeleaf的html如果使用了th:fragment
和th:replace
抽取公共部分的話,可能會(huì)出現(xiàn)直接打開(kāi)靜態(tài)模板時(shí)會(huì)丟失樣式的問(wèn)題
要注意我們?cè)诔槿」膊糠謺r(shí),原h(huán)tml頁(yè)面的被取代部分最好不要清空,同時(shí)要注意css樣式部分的路徑,并且要保留在項(xiàng)目中
又一個(gè)坑!:idea啟動(dòng)頁(yè)面產(chǎn)生亂碼
這是因?yàn)閕dea啟動(dòng)頁(yè)面時(shí)的編碼不一樣,兼容性的問(wèn)題,只需要加入下面這段代碼到head里就解決了
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
四、實(shí)體類(lèi)構(gòu)建
使用JPA技術(shù)
JPA是Java Persistence API的簡(jiǎn)稱,中文名Java持久層API
是JDK5.0注解或XML描述對(duì)象-關(guān)系表的映射關(guān)系,并將運(yùn)行期的實(shí)體對(duì)象持久化到數(shù)據(jù)庫(kù)中
1.創(chuàng)建持久層實(shí)體類(lèi)Entity
創(chuàng)建實(shí)體類(lèi)
使用注解@Entity:表明實(shí)體類(lèi)
必須與@Id注解 結(jié)合使用
否則 No identifier specified for entity: name 屬性
(可選)實(shí)體名稱。 缺省為實(shí)體類(lèi)的非限定名稱。
該名稱用于引用查詢中的實(shí)體。
該名稱不能是Java持久性查詢語(yǔ)言中的保留字面值。
不與@Table結(jié)合的話 表名 默認(rèn)為 SnakeCaseStrategy(命名策略 )為表名
若使用 name屬性 且沒(méi)有與@Table結(jié)合 則表名為 name值的SnakeCaseStrategy(命名策略 )
例如:
@Entity
public class UserEntity{…} 表名 user_entity
@Entity(name=“UE”)
public class UserEntity{…} 表名 ue
@Entity(name=“UsEntity”)
public class UserEntity{…} 表名 us_entity
@Table(name = 數(shù)據(jù)庫(kù)名)操作數(shù)據(jù)庫(kù)
運(yùn)行啟動(dòng)類(lèi)后會(huì)自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)表單
2.注解的使用
@ID
@GeneratedValue
@XX TO XX
關(guān)系
@ID:
@ID 標(biāo)注用于聲明一個(gè)實(shí)體類(lèi)的屬性映射為數(shù)據(jù)庫(kù)的主鍵列。該屬性通常置于屬性聲明語(yǔ)句之前,可與聲明語(yǔ)句同行,也可寫(xiě)在單獨(dú)行上。
@ID標(biāo)注也可置于屬性的getter
方法之前。
@GeneratedValue:
@GeneratedValue 用于標(biāo)注主鍵的生成策略,通過(guò)strategy 屬性指定。
默認(rèn)情況下,JPA 自動(dòng)選擇一個(gè)最適合底層數(shù)據(jù)庫(kù)的主鍵生成策略:****SqlServer
對(duì)應(yīng)identity
,MySQL 對(duì)應(yīng) auto increment
。
在javax.persistence.GenerationType
中定義了以下幾種可供選擇的策略:
IDENTITY:采用數(shù)據(jù)庫(kù)ID自增長(zhǎng)的方式來(lái)自增主鍵字段,Oracle 不支持這種方式;AUTO: JPA自動(dòng)選擇合適的策略,是默認(rèn)選項(xiàng);SEQUENCE:通過(guò)序列產(chǎn)生主鍵,通過(guò)@SequenceGenerator 注解指定序列名,MySql不支持這種方式TABLE:通過(guò)表產(chǎn)生主鍵,框架借由表模擬序列產(chǎn)生主鍵,使用該策略可以使應(yīng)用更易于數(shù)據(jù)庫(kù)移植。
ManyToMany、OneToMany等是各實(shí)體類(lèi)之間對(duì)應(yīng)的關(guān)系,根據(jù)實(shí)際關(guān)系注解…
五、后臺(tái)管理
有了實(shí)體類(lèi)和數(shù)據(jù)庫(kù)表單之后當(dāng)然就是要將它們注冊(cè)到我們的容器中,實(shí)現(xiàn)增刪改查等操作,在web頁(yè)面上實(shí)現(xiàn)后臺(tái)和前端的響應(yīng)!
1.配置持久層組件
@Repository注解式持久層組件,用于標(biāo)注數(shù)據(jù)訪問(wèn)組件,即DAO組件
DAO層
先定義一個(gè)接口
2.標(biāo)注業(yè)務(wù)層組件
@Service用于標(biāo)注業(yè)務(wù)層組件
從數(shù)據(jù)庫(kù)中取用戶名及密碼
3.編寫(xiě)控制器
根據(jù)自己的需求編寫(xiě)控制器的內(nèi)容
4.例
如在管理員登陸頁(yè)面中
@Controller
用于標(biāo)記在一個(gè)類(lèi)上,使用它標(biāo)記的類(lèi)就是一個(gè)SpringMvc
Controller
對(duì)象,分發(fā)處理器會(huì)掃描使用該注解的類(lèi)的方法,并檢測(cè)該方法是否使用了@RequestMapping
注解。
@Controller只是定義了一個(gè)控制器類(lèi),而使用@RequestMapping
注解的方法才是處理請(qǐng)求的處理器
到此這篇關(guān)于spring boot 日志/頁(yè)面處理、實(shí)體類(lèi)構(gòu)建、后臺(tái)管理功能的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)spring boot日志頁(yè)面處理內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/weixin_56462041/article/details/119705483