Springboot
Springboot学习
项目要求的技术栈是Springboot+mybatisplus,在见习时用的一直是SSM,不过好在Springboot和SSM很像,可以说是简化版,很快就学会了。
Springboot第一印象就是配置方便,之前配置SSM的时候实在是太烦躁了,xml文件看的眼花缭乱,而且经常遇到版本问题。以至于我宁可用JDBC+三层架构。
而Springboot只需要简单的配yml文件就可以运行起来。
Springboot搭建
Lombok,template,mysql,Spring web依赖配置(根据项目需要,自行配置)
别忘记添加依赖注入
mapper中添加@mapper
SerivceImpl中添加@Service
controller中添加@controller
启动Springboot
在项目目录下的下面创建一个controller 的package
接着我们在resource\templates 模板目录下创建一个欢迎页的html模板
创建indexController(名字自拟),写一个接口返回我们的index模板
点击启动项目,可以输入 localhost:8080/index,就可以看到欢迎页啦
Springboot启动成功!
可以看到,无需修改任何配置文件,就可以启动项目,这点可以看出Springboot比SSM的启动要方便许多。
顺便说下Springboot的目录结构,其实和SSM一样
一般我会用到的
controller | web层,实现和前端交互 |
---|---|
mapper | 数据库和接口交互 |
pojo | 存放实体 |
service | 用来写业务接口 |
serviceImpl | 业务实现类,写具体的实现方法 |
yml的配置
在实际项目中,需要用到mysql,在yml中简单的配置一下mysql
修改后缀
将.properties修改为.yml
配置mysql:
Lombok
项目里我最常用到的三个
通过注解的形式,编译后会自动生成相应的方法,无需自己手动去添加,方便简洁,看起来舒服。
Mybatisplus
如果不是做项目时同事给我提了一下,我都不知道还有这么方便的东西。
我理解的mybatisplus就是将crud给封装了起来,只要继承就能直接调用,不用写繁琐的xml。
配置
首先我们在pom.xml中手动添加mp的依赖
在Service中继承 IService
在Mapper中继承BaseMapper
在serviceImpl中继承SerivceImpl,实现UserSerivce
常见错误分析
通常看到 xxx.mapper not be found或者是xxx.serivce not be found 一般都是依赖注入有问题,导致没有扫描到。
提示我UserMapper没有找到,但是我加了@Mapper。
原来启动项没有加@MapperScan,导致扫描不到Mapper
使用mybatis-plus的时候调用BaseMapper的方法遇到 not found
千万不要慌。
赶紧检查一下你的Mapper里的imports 是不是下面的这个
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
如果不是,那你把mybaits-plus的依赖错用成了这个
正确的依赖是: