spring boot 日志/頁面處理、實(shí)體類構(gòu)建、后臺(tái)管理功能的實(shí)現(xiàn)
為方便我們的開發(fā),我們需要構(gòu)建三個(gè)環(huán)境下的配置文件分別是通用環(huán)境、開發(fā)環(huán)境和生產(chǎn)環(huán)境下的yml格式配置文件并且在開發(fā)環(huán)境配置中配置好我們的數(shù)據(jù)庫(kù)和日志
(這個(gè)是在初始化spring boot項(xiàng)目時(shí)就自動(dòng)導(dǎo)入了)需要用到的有JPA、thymeleaf、devtools、aop等
(這個(gè)可以自己配置也可以不配,根據(jù)自己的使用習(xí)慣,我是跟著視頻的QAQ,不配置的話用默認(rèn)的也可以)
1.默認(rèn)配置通過控制器來處理命令,使用注解@GetMapping或者@PostMapping等進(jìn)行處理可以通過一系列控制器實(shí)現(xiàn)各鐘功能控制器示例:
貌似Spring boot默認(rèn)訪問頁面就是index
2.配置錯(cuò)誤友好頁面4xX 5XX分別是服務(wù)端和客戶端有錯(cuò)誤時(shí)會(huì)默認(rèn)跳轉(zhuǎn)的頁面
這里有個(gè)坑!:注意使用thymeleaf的html如果使用了th:fragment和th:replace抽取公共部分的話,可能會(huì)出現(xiàn)直接打開靜態(tài)模板時(shí)會(huì)丟失樣式的問題要注意我們?cè)诔槿」膊糠謺r(shí),原h(huán)tml頁面的被取代部分最好不要清空,同時(shí)要注意css樣式部分的路徑,并且要保留在項(xiàng)目中
又一個(gè)坑!:idea啟動(dòng)頁面產(chǎn)生亂碼
這是因?yàn)閕dea啟動(dòng)頁面時(shí)的編碼不一樣,兼容性的問題,只需要加入下面這段代碼到head里就解決了
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
使用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í)體類Entity創(chuàng)建實(shí)體類使用注解@Entity:表明實(shí)體類
必須與@Id注解 結(jié)合使用否則 No identifier specified for entity: name 屬性(可選)實(shí)體名稱。 缺省為實(shí)體類的非限定名稱。該名稱用于引用查詢中的實(shí)體。該名稱不能是Java持久性查詢語言中的保留字面值。不與@Table結(jié)合的話 表名 默認(rèn)為 SnakeCaseStrategy(命名策略 )為表名若使用 name屬性 且沒有與@Table結(jié)合 則表名為 name值的SnakeCaseStrategy(命名策略 )例如:@Entitypublic 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)類后會(huì)自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)表單
@ID @GeneratedValue @XX TO XX關(guān)系@ID:@ID 標(biāo)注用于聲明一個(gè)實(shí)體類的屬性映射為數(shù)據(jù)庫(kù)的主鍵列。該屬性通常置于屬性聲明語句之前,可與聲明語句同行,也可寫在單獨(dú)行上。@ID標(biāo)注也可置于屬性的getter方法之前。
@GeneratedValue:@GeneratedValue 用于標(biāo)注主鍵的生成策略,通過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)的方式來自增主鍵字段,Oracle 不支持這種方式;AUTO: JPA自動(dòng)選擇合適的策略,是默認(rèn)選項(xiàng);SEQUENCE:通過序列產(chǎn)生主鍵,通過@SequenceGenerator 注解指定序列名,MySql不支持這種方式TABLE:通過表產(chǎn)生主鍵,框架借由表模擬序列產(chǎn)生主鍵,使用該策略可以使應(yīng)用更易于數(shù)據(jù)庫(kù)移植。
ManyToMany、OneToMany等是各實(shí)體類之間對(duì)應(yīng)的關(guān)系,根據(jù)實(shí)際關(guān)系注解…
有了實(shí)體類和數(shù)據(jù)庫(kù)表單之后當(dāng)然就是要將它們注冊(cè)到我們的容器中,實(shí)現(xiàn)增刪改查等操作,在web頁面上實(shí)現(xiàn)后臺(tái)和前端的響應(yīng)!
1.配置持久層組件@Repository注解式持久層組件,用于標(biāo)注數(shù)據(jù)訪問組件,即DAO組件DAO層先定義一個(gè)接口
@Service用于標(biāo)注業(yè)務(wù)層組件
從數(shù)據(jù)庫(kù)中取用戶名及密碼
3.編寫控制器根據(jù)自己的需求編寫控制器的內(nèi)容
如在管理員登陸頁面中@Controller用于標(biāo)記在一個(gè)類上,使用它標(biāo)記的類就是一個(gè)SpringMvc Controller對(duì)象,分發(fā)處理器會(huì)掃描使用該注解的類的方法,并檢測(cè)該方法是否使用了@RequestMapping注解。@Controller只是定義了一個(gè)控制器類,而使用@RequestMapping注解的方法才是處理請(qǐng)求的處理器
到此這篇關(guān)于spring boot 日志/頁面處理、實(shí)體類構(gòu)建、后臺(tái)管理功能的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)spring boot日志頁面處理內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. CSS hack用法案例詳解2. css進(jìn)階學(xué)習(xí) 選擇符3. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera4. 使用css實(shí)現(xiàn)全兼容tooltip提示框5. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案6. 使用純HTML的通用數(shù)據(jù)管理和服務(wù)7. css代碼優(yōu)化的12個(gè)技巧8. 告別AJAX實(shí)現(xiàn)無刷新提交表單9. HTML DOM setInterval和clearInterval方法案例詳解10. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)
