如何整合Spring + SpringBoot + MyBatis + MongoDB

前言

我以前是學SpringMVC的,後面聽同窗說SpringBoot挺好用,極力推薦我學這個鬼。一開始,在網上找SpringBoot的學習資料,他們博文寫得不是說很差,而是不太詳細。我就在想我要本身寫一篇儘量詳細的文章出來。java

技術棧

  • Spring
  • Spring Boot
  • MyBatis
  • MongoDB
  • MySQL

設計模式

MVCmysql

功能

  • 註冊(用戶完成註冊後是默認未激活的,程序有個定時器在檢測沒有激活的用戶,而後發一次郵件提醒用戶激活)
  • 登陸
  • 發帖(帖子存在MongoDB)
  • 其餘功能正在添加中...

編輯器

  • IntellJ IDEA 2017

目錄結構

圖片描述

正文

第一步先讓咱們建立項目吧,打開idea File -> New -> Project。咱們是建立Spring Boot項目,因此來到Project這一步是選Spring Initailizr,選好jdk再點next。
圖片描述git

而後就來到了一下這個界面,這裏是讓你填寫項目的目錄,你喜歡就ok。
圖片描述github

接下來就是讓你選擇須要那些依賴,要把那個Web,MyBaits,MongoDB,數據庫(我用的是mysql,因此我勾選了mysql)這些勾選上。
圖片描述spring

最後是填寫項目名字,而後點Finish就完成建立了。sql

如何整合Spring+SpringBoot+MyBatis+MongoDB
圖片描述mongodb

在第一步中,你填的項目目錄下,我喜歡建個文件夾叫作Controller,固然用來放Controller了,Entity文件夾放實體類,Service文件是存放業務邏輯層,這個文件下還有ServiceImpl文件夾對應的是存放Service的實現類。數據庫

第二步配置,詳細的代碼我已經 放在github上了 點擊跳轉到github。咱們的配置寫在一個叫作application.yml文件裏。大家新建的項目是默認是application.properties文件,可是.yml文件配置起來比.properties文件簡潔,因此我的比較喜歡.yml文件。設計模式

怎麼個簡潔法,對比一下你就知道了。.properties配置起來是這樣的(這裏用配置發送郵件爲例子)微信

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: //用來發送郵件的帳號
    password: //這裏是IMAP/SMTP服務的受權密碼
    properties:
      mail:
        stmp:
          auth: true
          starttls:
            enable: true
            required: true
    port: 587

配置數據源(數據源、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,它不單單是啓動引導類,仍是個配置類。因此有一些配置須要寫在這裏面。

@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了

最後

若是有幫助到你的話,請打賞我 0.5元。
支付寶打賞,請掃
支付寶打賞
微信打賞,請掃
圖片描述

相關文章
相關標籤/搜索