琐碎任务

刚进公司的时候培训不到两天,就丢给我们一个数据表临时任务,简单来说就是客户看不懂代码,需要一个表文档。就安排给我和吴建,来做这个超级繁琐的任务。

全程 crtl C+crtl V,从下午做到下班,任务才完成了1/3。本来准备走的,结果两个领导说做完才走。开玩笑好吧,我们花了差不多4个小时,才完成1/3,就算今天通宵也做不完。

好在吴建那天晚上写了一个代码,能够处理那段数据自动生成一个表格排布的文字列,这样省了我们好多时间。第二天一个上午就搞完了,接着又丢给我一个员额法官的设计思路。设计思路我倒是从来没写过,不过还是根据自己的想法随便写了一通,除了crud我想不到任何设计思路。

框架搭建

后来让我们写自己设计出来模块的代码,先搭建公司的一个OA框架,然后在框架里面将项目跑起来。

首先遇到的问题如下

1.没有人告诉我们公司框架的代码在哪里

2.没人指导搭建

3.也不知框架如何使用

后来,一个个问,才拿到代码搭建了半天还是一直报错,一直显示有两个jar没下载下来。我猜测应该是maven里的setting.xml配置的镜像有问题,或者就是maven库里下不到那两个jar。

后来我打开Maven仓库,果然,根本找不到那两个jar。后来索性直接找人拷贝了maven仓库,框架才跑起来。

Springboot学习

项目要求的技术栈是Springboot+mybatisplus,在见习时用的一直是SSM,不过好在Springboot和SSM很像,可以说是简化版,很快就学会了。

Springboot第一印象就是配置方便,之前配置SSM的时候实在是太烦躁了,xml文件看的眼花缭乱,而且经常遇到版本问题。以至于我宁可用JDBC+三层架构。

而Springboot只需要简单的配yml文件就可以运行起来。

Springboot搭建

海昌实习经历_mysql

海昌实习经历_mysql_02

LomboktemplatemysqlSpring web依赖配置(根据项目需要,自行配置)

海昌实习经历_jar_03

海昌实习经历_spring_04

海昌实习经历_设计思路_05

海昌实习经历_maven_06

别忘记添加依赖注入

mapper中添加@mapper

SerivceImpl中添加@Service

controller中添加@controller

启动Springboot

在项目目录下的下面创建一个controllerpackage

海昌实习经历_maven_07
接着我们在resource\templates 模板目录下创建一个欢迎页的html模板

海昌实习经历_设计思路_08

海昌实习经历_maven_09

创建indexController(名字自拟),写一个接口返回我们的index模板

海昌实习经历_设计思路_10

点击启动项目,可以输入 localhost:8080/index,就可以看到欢迎页啦

海昌实习经历_maven_11

Springboot启动成功!

可以看到,无需修改任何配置文件,就可以启动项目,这点可以看出Springboot比SSM的启动要方便许多。

顺便说下Springboot的目录结构,其实和SSM一样

海昌实习经历_jar_12
一般我会用到的

controller web层,实现和前端交互
mapper 数据库和接口交互
pojo 存放实体
service 用来写业务接口
serviceImpl 业务实现类,写具体的实现方法

yml的配置

在实际项目中,需要用到mysql,在yml中简单的配置一下mysql

修改后缀

海昌实习经历_jar_13
.properties修改为.yml

配置mysql:

海昌实习经历_jar_14

Lombok

项目里我最常用到的三个

海昌实习经历_mysql_15

通过注解的形式,编译后会自动生成相应的方法,无需自己手动去添加,方便简洁,看起来舒服。

Mybatisplus

如果不是做项目时同事给我提了一下,我都不知道还有这么方便的东西。

我理解的mybatisplus就是将crud给封装了起来,只要继承就能直接调用,不用写繁琐的xml。

配置

首先我们在pom.xml中手动添加mp的依赖

海昌实习经历_maven_16

在Service中继承 IService

海昌实习经历_mysql_17
在Mapper中继承BaseMapper

海昌实习经历_spring_18
在serviceImpl中继承SerivceImpl,实现UserSerivce

海昌实习经历_jar_19

常见错误分析

通常看到 xxx.mapper not be found或者是xxx.serivce not be found 一般都是依赖注入有问题,导致没有扫描到。

海昌实习经历_maven_20

提示我UserMapper没有找到,但是我加了@Mapper。

原来启动项没有加@MapperScan,导致扫描不到Mapper

使用mybatis-plus的时候调用BaseMapper的方法遇到 not found

千万不要慌。

赶紧检查一下你的Mapper里的imports 是不是下面的这个

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

如果不是,那你把mybaits-plus的依赖错用成了这个

海昌实习经历_spring_21

正确的依赖是

海昌实习经历_maven_22