前言
我之前是学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