搭建springBoot + JPA + mysql 的web專案
說明:此篇文章不算是純技術文,自己心血來潮想搭建這麼一個專案,東翻西找,這看看那看看,寫了一個小demo,前後臺互動,資料庫訪問包括事物管控均已測試通過。在此分享,希望初識springboot或jpa的同學能有個基本的搭建思路,也算是給自己留個筆記吧。
搭建過程正式開始:
1.首先是專案結構,就是正常的一個maven專案的結構
2.pom.xml的配置
(1)springboot和web的依賴
(2)要使後臺可以正確跳轉到jsp介面需加入下面這個jar。否則跳轉將變成下載jsp檔案
(3)本專案中使用JPA和mysql,所以引入下面兩個jar
3.配置檔案application.properties解釋
spring.mvc.view.prefix(1)mvc的為跳轉jsp用的,相當於之前springmvc中的=/jsp/ spring.mvc.view.suffix=.jsp spring.datasource.url=jdbc:mysql://127.0.0.1:3306/myTest?useUnicode=true&characterEncoding=utf-8 spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.jpa.database=MYSQL spring.jpa.show-sql=truespring.jpa.hibernate.ddl-auto=none
org.springframework.web.servlet.view.InternalResourceViewResolver
(2)datasource就是資料來源了
(3)jpa的三個就是jpa的設定
這些都是最基本的配置,不用一一解釋含義了。
4.這個專案我們使用自定義的repository,雖然jpa提供了幾個可繼承的介面已經實現一些對資料庫的操作,但基於對之前hibernate的使用,我還是喜歡自定義的,這樣baserepository定義好方法,在service層使用更自由。當然個人有個人的喜好吧。
(1)首先是介面類
這邊我繼承了JpaRepository這個介面,@NoRepositoryBean這個註解告訴spring容器不要生成這個介面的bean。如果不加此註解,專案啟動時會報錯。
(2)實現類
實現類繼承了SimpleJpaRepository來支援我們自定義一些方法如
(3)由於使用自定義的Repository,所以需要指明哪個類是jpa的Repository,隨便建立一個類,加入如下註解
(4)各表對應的Repository只要宣告成一個藉口繼承我們自定義的BaseRepository即可。
5.Entity類
摒棄了spring+hibernate時使用的hbm.xml這種對映檔案,採用註解來定義資料庫類。如下,而且使用IDEA開發使用其逆向生成Entity的功能,即不容易出錯又提高開發效率
6.事物管控。
事物管控只需要在service層使用註解@Transactional即可實現,這邊測試時特意製造了一個空指標的異常,新增user時回正常回滾。
總結:其實呢,本人就是一個很懶的程式設計師,技術不好,就希望能有更便捷的開發方式。從以前的ssh到後面的springmvc到註解代替xml再到現在的springboot。構建一個簡單的web專案真的是越來越方便了。同時對於此篇博文,開題也講了,不是純技術文件,我個人在百度或者google的時候也是更多的希望看到的是原始碼,所以話不多,大家看程式碼吧。
原始碼下載:https://download.csdn.net/download/windon12345/10318167