SSM(Spring + SpringMVC + MyBatis)三个开源框架的简称,是WEB项目开发的不二之选,是码农进阶全栈工程师心路历程上的驿站。大公司开源框架和算法制定标准规范引领行业趋势,小公司拿来主义面向业务敏捷开发快速迭代在夹缝中艰难生存。SSM框架完美的符合了当下的这种行业现状,对于底层是如何实现的开发人员完全不必关注,踏踏实实梳理好业务逻辑,做好质量把控年底KPI基本问题就不大了。
Spring是一个轻量级IoC及AOP容器框架,配置又多又细,SpringBoot简化了大量通用且不常用的配置项,使构建一个微服务变得超简单;SpringMVC是目前最优秀的MVC框架,注解用得好事半功倍;MyBatis用于数据持久化,MyBatisPlus增强版内置分页功能简化开发流程自动化代码生成,唯一要做的事情就剩下写写SQL了。
无私的分享从这里开始: git clone git@gitee.com:gonglibin/kirin.git
kirin/src/main/java/com/kirin/web/server/KrnApplication.java
1行@SpringBootApplication表示该对象为当前应用的启动类;
2行@ImportResource表示引入配置文件资源读取解析及加载;
8行启动,就这么简单~~~
kirin/src/main/java/com/kirin/web/server/ KrnMvcConfig.java
KrnMvcConfig类继承自WebMvcConfigurerAdapter抽象类(该类实现了WebMvcConfigurer接口方法为空并交给子类去实现);
1行@Configuration表示希望Spring将该类作为配置项资源;
6行实现静态资源处理;
11行向资源中添加拦截器;
kirin/src/main/java/com/kirin/web/server/ KrnInterceptor.java
KrnInterceptor类继承自HandlerInterceptor接口,接口定义了三个方法,分别对应在不同的阶段启动拦截事件,详情见注释,preHandle方法为演示,当HTTP请求不为GET时返回报错信息。
kirin/src/main/java/com/kirin/api/controller/KrnStatisticAdownerController.java
1行@RestController (@ResponseBody + @Controller),表示将返回结果按照response的type直接写到HTTP的response body中去,且该类是一个控制器;
2行@RequestMapping表示将请求路径映射到的类上;
5行注入KrnStatisticAdownerService资源;
8行@RequestMapping表示将多级路径映射到该类的具体方法上;
kirin/src/main/java/com/kirin/dao/entity/StatisticAdowner.java
1行表示该类映射自哪张表,并将表结构映射成对象的成员变量;
6行@TableId为主键;
11行@TableField("sad_viewAccount")为表字段名;
需要说明的一点是数据表到类声明的自动化生成最好遵循一定的命名规则否则后果很严重;
kirin/src/main/java/com/kirin/dao/service/KrnStatisticAdownerService.java
自定义KrnStatisticAdownerService接口继承自IService接口,其中定义了大量常用的增删改查的方法,基本涵盖了常用的数据库操作,自定义接口中的方法在控制器中被当作资源注入并调用。
kirin/src/main/java/com/kirin/dao/ impl/KrnStatisticAdownerServiceImpl.java
KrnStatisticAdownerServiceImpl类是KrnStatisticAdownerService接口的实现对象,它同时继承自ServiceImpl类,该类是IService接口中方法的具体实现。
4行注入KrnStatisticAdownerMapper资源;
7行覆盖KrnStatisticAdownerService接口中的方法;
kirin/src/main/java/com/kirin/dao/ mapper/KrnStatisticAdownerMapper.java
2行调用具体实现,建议在XML配置中书写SQL,好维护好管理逻辑清晰方便编辑修改;
kirin/src/main/resources/xml/StatisticAdowner.xml
select块部分是需要开发者实现的,把调试好的SQL复制到这里就OK了。
SSM框架设计的异常出色,使用起来异常便利,不过坑很多,踩一个少一个,都踩遍了工作起来就会变得很轻松,但是也会很乏味,剩下的事情全是面对不断的需求变更、业务调整和功能扩展,在日复一日的重复中慢慢老去~~~