前言
我之前是學spring mvc的,后面聽同學說spring boot挺好用,極力推薦我學這個鬼。一開始,在網上找spring boot的學習資料,他們博文寫得不是說不好,而是不太詳細。
我就在想我要自己寫一篇盡可能詳細的文章出來,下面話不多說了,來一看看詳細的介紹吧。
技術棧
- spring
- spring boot
- mybatis
- mongodb
- mysql
設計模式
mvc
功能
- 注冊(用戶完成注冊后是默認未激活的,程序有個定時器在檢測沒有激活的用戶,然后發一次郵件提醒用戶激活)
- 登錄
- 發帖(帖子存在mongodb)
- 評論
- 其他功能正在添加中...
編輯器
intellj idea 2017
目錄結構
正文
第一步先讓我們創建項目吧,打開idea file -> new -> project。我們是創建spring boot項目,所以來到project這一步是選spring initailizr,選好jdk再點next。
然后就來到了一下這個界面,這里是讓你填寫項目的目錄,你喜歡就ok。
接下來就是讓你選擇需要那些依賴,要把那個web,mybaits,mongodb,數據庫(我用的是mysql,所以我勾選了mysql)這些勾選上。
最后是填寫項目名字,然后點finish就完成創建了。
如何整合spring+springboot+mybatis+mongodb
在第一步中,你填的項目目錄下,我喜歡建個文件夾叫做controller,當然用來放controller了,entity文件夾放實體類,service文件是存放業務邏輯層,這個文件下還有serviceimpl文件夾對應的是存放service的實現類。
第二步配置,詳細的代碼我已經 放在github上了 點擊跳轉到github 。我們的配置寫在一個叫做application.yml文件里。你們新建的項目是默認是application.properties文件,但是.yml文件配置起來比.properties文件簡潔,所以個人比較喜歡.yml文件。
怎么個簡潔法,對比一下你就知道了。.properties配置起來是這樣的(這里用配置發送郵件為例子)
1
2
3
4
5
6
|
spring.mail.host=smtp.qq.com spring.mail.username=用戶名 spring.mail.password=密碼 spring.mail.properties.mail.smtp.auth= true spring.mail.properties.mail.smtp.starttls.enable= true spring.mail.properties.mail.smtp.starttls.required= true |
而.yml配置起來是這樣的:
1
2
3
4
5
6
7
8
9
10
11
12
|
mail: host: smtp.qq.com username: //用來發送郵件的賬號 password: //這里是imap/smtp服務的授權密碼 properties: mail: stmp: auth: true starttls: enable: true required: true port: 587 |
配置數據源(數據源、mongodb還有mail都是在spring下),
1
2
3
4
5
6
7
8
9
10
11
12
|
spring: datasource: url: jdbc:mysql: //localhost:3306/blog?useunicode=true&characterencoding=utf-8&usessl=false username: root password: root driver- class -name: com.mysql.jdbc.driver platform: mysql jpa: show-sql: true data: mongodb: uri: mongodb: //localhost:27017/blog //blog記得換成你取的名字 |
配置mybaits,它在.yml和spring地位一樣高,所以mybatis,spring縮進是一樣的。
1
2
3
|
mybatis: type-aliases- package : com.example.junior.entity //這里是實體類所在的包 mapper-locations: classpath:/mapper/*.xml //這里是放sql語句的映射文件 |
還有一個值得注意的地方是juniorapplication.java,它不僅僅是啟動引導類,還是個配置類。所以有一些配置需要寫在這里面。
1
2
3
4
5
6
7
8
9
10
|
@springbootapplication @enabletransactionmanagement @enablecaching @enablescheduling //我有個定時器,這個注解是讓它發現定時器 @mapperscan (basepackages = "com.example.junior.dao" ) //讓它去發現你的dao層 public class juniorapplication { public static void main(string[] args) { springapplication.run(juniorapplication. class , args); } } |
如果你在創建項目的時候,忘記勾選某一些依賴的話不要緊,可以在pom.xml文件里添加依賴。添加完成后在pom.xml右鍵 點擊 maven -> reimport就ok了
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。
原文鏈接:https://segmentfault.com/a/1190000012349567