Spring + Spring Boot + MyBatis + MongoDB的整合教程

所属分类: 软件编程 / java 阅读数: 18
收藏 0 赞 0 分享

前言

我之前是学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配置起来是这样的(这里用配置发送邮件为例子)

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了

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

更多精彩内容其他人还在看

Java基础之反射原理与用法详解

这篇文章主要介绍了Java基础之反射原理与用法,结合实例形式详细分析了java反射的相关概念、原理、使用方法与操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

java字符串的截取方法substring()代码解析

这篇文章主要介绍了java字符串的截取方法substring()代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Mybatis一对多关联关系映射实现过程解析

这篇文章主要介绍了Mybatis一对多关联关系映射实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Java整数和字符串相互转化实例详解

这篇文章主要介绍了Java整数和字符串相互转化实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring Boot 项目设置网站图标的方法

这篇文章主要介绍了Spring Boot 项目设置网站图标的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java多态机制原理特点详解

在本篇文章里小编给大家分享的是关于java多态机制原理特点详解,有需要的朋友们可以跟着学习下。
收藏 0 赞 0 分享

Jmeter如何添加循环控制器

这篇文章主要介绍了Jmeter如何添加循环控制器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java虚拟机创建失败的原因整理

在本篇文章里小编给大家整理了关于创建java虚拟机失败的解决方法和知识点,需要的朋友们可以参考学习下。
收藏 0 赞 0 分享

Java如何把int类型转换成byte

这篇文章主要介绍了Java如何把int类型转换成byte,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

linux中java获取路径的实例代码

在本篇文章里小编给大家整理的是一篇关于linux中java获取路径的实例代码以及相关知识点,有兴趣的朋友们可以学习参考下。
收藏 0 赞 0 分享
查看更多