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ù)庫和日志
(這個(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ì)丟失樣式的問題要注意我們在抽取公共部分時(shí),原h(huán)tml頁面的被取代部分最好不要清空,同時(shí)要注意css樣式部分的路徑,并且要保留在項(xiàng)目中
又一個(gè)坑?。篿dea啟動(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的簡稱,中文名Java持久層API是JDK5.0注解或XML描述對(duì)象-關(guān)系表的映射關(guān)系,并將運(yùn)行期的實(shí)體對(duì)象持久化到數(shù)據(jù)庫中
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ù)庫名)操作數(shù)據(jù)庫
運(yùn)行啟動(dòng)類后會(huì)自動(dòng)創(chuàng)建數(shù)據(jù)庫表單
@ID @GeneratedValue @XX TO XX關(guān)系@ID:@ID 標(biāo)注用于聲明一個(gè)實(shí)體類的屬性映射為數(shù)據(jù)庫的主鍵列。該屬性通常置于屬性聲明語句之前,可與聲明語句同行,也可寫在單獨(dú)行上。@ID標(biāo)注也可置于屬性的getter方法之前。
@GeneratedValue:@GeneratedValue 用于標(biāo)注主鍵的生成策略,通過strategy 屬性指定。默認(rèn)情況下,JPA 自動(dòng)選擇一個(gè)最適合底層數(shù)據(jù)庫的主鍵生成策略:****SqlServer對(duì)應(yīng)identity,MySQL 對(duì)應(yīng) auto increment。
在javax.persistence.GenerationType中定義了以下幾種可供選擇的策略:
IDENTITY:采用數(shù)據(jù)庫ID自增長的方式來自增主鍵字段,Oracle 不支持這種方式;AUTO: JPA自動(dòng)選擇合適的策略,是默認(rèn)選項(xiàng);SEQUENCE:通過序列產(chǎn)生主鍵,通過@SequenceGenerator 注解指定序列名,MySql不支持這種方式TABLE:通過表產(chǎn)生主鍵,框架借由表模擬序列產(chǎn)生主鍵,使用該策略可以使應(yīng)用更易于數(shù)據(jù)庫移植。
ManyToMany、OneToMany等是各實(shí)體類之間對(duì)應(yīng)的關(guān)系,根據(jù)實(shí)際關(guān)系注解…
有了實(shí)體類和數(shù)據(jù)庫表單之后當(dāng)然就是要將它們注冊到我們的容器中,實(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ù)庫中取用戶名及密碼
3.編寫控制器根據(jù)自己的需求編寫控制器的內(nèi)容
如在管理員登陸頁面中@Controller用于標(biāo)記在一個(gè)類上,使用它標(biāo)記的類就是一個(gè)SpringMvc Controller對(duì)象,分發(fā)處理器會(huì)掃描使用該注解的類的方法,并檢測該方法是否使用了@RequestMapping注解。@Controller只是定義了一個(gè)控制器類,而使用@RequestMapping注解的方法才是處理請求的處理器
到此這篇關(guān)于spring boot 日志/頁面處理、實(shí)體類構(gòu)建、后臺(tái)管理功能的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)spring boot日志頁面處理內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. xml文件的結(jié)構(gòu)解讀第1/2頁2. jsp實(shí)現(xiàn)局部刷新頁面、異步加載頁面的方法3. Jsp中request的3個(gè)基礎(chǔ)實(shí)踐4. SSM框架整合JSP中集成easyui前端ui項(xiàng)目開發(fā)示例詳解5. python線性插值解析6. PHP連接MySQL數(shù)據(jù)庫操作代碼實(shí)例解析7. Python requests模塊session代碼實(shí)例8. JSP 中request與response的用法詳解9. 詳解java CountDownLatch和CyclicBarrier在內(nèi)部實(shí)現(xiàn)和場景上的區(qū)別10. python文件讀取失敗怎么處理
