Spring + Spring Boot + MyBatis + MongoDB的整合教程
前言
我之前是學(xué)Spring MVC的,后面聽同學(xué)說Spring Boot挺好用,極力推薦我學(xué)這個鬼。一開始,在網(wǎng)上找Spring Boot的學(xué)習(xí)資料,他們博文寫得不是說不好,而是不太詳細。
我就在想我要自己寫一篇盡可能詳細的文章出來,下面話不多說了,來一看看詳細的介紹吧。
技術(shù)棧
- Spring
- Spring Boot
- MyBatis
- MongoDB
- MySQL
設(shè)計模式
MVC
功能
- 注冊(用戶完成注冊后是默認未激活的,程序有個定時器在檢測沒有激活的用戶,然后發(fā)一次郵件提醒用戶激活)
- 登錄
- 發(fā)帖(帖子存在MongoDB)
- 評論
- 其他功能正在添加中...
編輯器
IntellJ IDEA 2017
目錄結(jié)構(gòu)

正文
第一步先讓我們創(chuàng)建項目吧,打開idea File -> New -> Project。我們是創(chuàng)建Spring Boot項目,所以來到Project這一步是選Spring Initailizr,選好jdk再點next。

然后就來到了一下這個界面,這里是讓你填寫項目的目錄,你喜歡就ok。

接下來就是讓你選擇需要那些依賴,要把那個Web,MyBaits,MongoDB,數(shù)據(jù)庫(我用的是mysql,所以我勾選了mysql)這些勾選上。

最后是填寫項目名字,然后點Finish就完成創(chuàng)建了。
如何整合Spring+SpringBoot+MyBatis+MongoDB

在第一步中,你填的項目目錄下,我喜歡建個文件夾叫做Controller,當(dāng)然用來放Controller了,Entity文件夾放實體類,Service文件是存放業(yè)務(wù)邏輯層,這個文件下還有ServiceImpl文件夾對應(yīng)的是存放Service的實現(xiàn)類。
第二步配置,詳細的代碼我已經(jīng) 放在github上了 點擊跳轉(zhuǎn)到github (本地下載)。我們的配置寫在一個叫做application.yml文件里。你們新建的項目是默認是application.properties文件,但是.yml文件配置起來比.properties文件簡潔,所以個人比較喜歡.yml文件。
怎么個簡潔法,對比一下你就知道了。.properties配置起來是這樣的(這里用配置發(fā)送郵件為例子)
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配置起來是這樣的:
mail: host: smtp.qq.com username: //用來發(fā)送郵件的賬號 password: //這里是IMAP/SMTP服務(wù)的授權(quán)密碼 properties: mail: stmp: auth: true starttls: enable: true required: true port: 587
配置數(shù)據(jù)源(數(shù)據(jù)源、MongoDB還有mail都是在spring下),
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縮進是一樣的。
mybatis: type-aliases-package: com.example.junior.Entity //這里是實體類所在的包 mapper-locations: classpath:/mapper/*.xml //這里是放sql語句的映射文件
還有一個值得注意的地方是JuniorApplication.java,它不僅僅是啟動引導(dǎo)類,還是個配置類。所以有一些配置需要寫在這里面。
@SpringBootApplication
@EnableTransactionManagement
@EnableCaching
@EnableScheduling //我有個定時器,這個注解是讓它發(fā)現(xiàn)定時器
@MapperScan(basePackages = "com.example.junior.Dao") //讓它去發(fā)現(xiàn)你的Dao層
public class JuniorApplication {
public static void main(String[] args) {
SpringApplication.run(JuniorApplication.class, args);
}
}
如果你在創(chuàng)建項目的時候,忘記勾選某一些依賴的話不要緊,可以在pom.xml文件里添加依賴。添加完成后在pom.xml右鍵 點擊 Maven -> Reimport就Ok了
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
SpringBoot整合Mybatis自定義攔截器不起作用的處理方案
這篇文章主要介紹了SpringBoot整合Mybatis自定義攔截器不起作用的處理方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
Spring Boot使用Servlet及Filter過程詳解
這篇文章主要介紹了Spring Boot使用Servlet及Filter過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07
教你用Java Swing實現(xiàn)自助取款機系統(tǒng)
今天給大家?guī)淼氖顷P(guān)于JAVA的相關(guān)知識,文章圍繞著如何用Java Swing實現(xiàn)自助取款機系統(tǒng)展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Java入門基礎(chǔ)之Java的基本語法與Java所支持的數(shù)據(jù)類型
這篇文章主要介紹了Java入門基礎(chǔ)之Java的基本語法與Java所支持的數(shù)據(jù)類型,熟悉語法和數(shù)據(jù)類型通常是了解一種編程語言的開始,需要的朋友可以參考下2016-02-02
IDEA創(chuàng)建Servlet并配置web.xml的實現(xiàn)
這篇文章主要介紹了IDEA創(chuàng)建Servlet并配置web.xml的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
java實現(xiàn)/創(chuàng)建線程的幾種方式小結(jié)
在JAVA中,用Thread類代表線程,所有線程對象都必須是Thread類或者Thread類子類的實例,下面這篇文章主要介紹了java實現(xiàn)/創(chuàng)建線程的幾種方式,需要的朋友可以參考下2021-08-08

