最近在一次面试的时候,面试官问我能不能自己搭建一下SSM框架,我说可以,然后问了我一些回答不上来的知识点,可能自己搭建的时候很多东西理解的不是很透彻,所以就重新搭建了一下,留下了深刻的记忆,也特意在这里记录一下。
如何搭建springboot这里就不介绍了,请参考这篇文章搭建springboot项目。
接下来开始集成一个ssm项目:
第一步:引入spring、springmvc、mybatis、mysql的依赖
org.springframework.boot
spring-boot-starter-jdbc
mysql
mysql-connector-java
runtime
org.springframework.boot
spring-boot-starter-aop
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.1.1
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-devtools
runtime
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
只需复制并使用即可。
第 2 步:创建具有以下结构的包。
第三步:使用spring注解注入控制层
服务层

Mybatis支持XML标签,编写简单查询
步骤 4:配置数据源
我不会在这里复制这个,互联网上到处都有例子,只需搜索就可以找到它们。
步骤 5:最后,编写查询列表进行尝试
因为查询是一个列表,所以使用列表来接受并返回。然后检查结果:
英文单词那么多,不过只要知道数字就没问题了。500 表示我们的代码错误。然后去控制台看看是什么原因,排查问题。
可以清楚的看到我查询的长度已经输出了,说明方法是正确的。

解决方案如下:
控制台出现此异常:解析模板“xxx”时出错,模板可能不存在或者无法被任何配置的模板解析器访问
解决办法:在报此异常的方法上添加注解@ResponseBody
@ResponseBody注解表示将方法的返回值直接写入HTTP Response Body中,也就是说如果返回的是JSON的话,必须加@ResponseBody注解,一般在异步获取数据的时候使用。使用@RequestMapping后,返回值通常会被解析为跳转路径,而加了@responsebody之后牛刀 简历,返回结果就不会被解析为跳转路径,而是直接写入HTTP响应体中。
例如异步获取JSON数据,添加@responsebody,则会直接返回JSON数据。
controller层可以使用@Controller和@RestController注解来调用前端的接口,但是两者的区别在于使用前者时必须在方法上添加@ResponseBody注解,如果不添加@ResponseBody就会报上面的错误,因为使用@Controller注解时spring默认方法返回的是视图对象(页面),而添加@ResponseBody后方法返回的是一个具体的对象,@RestController的作用相当于@Controller+@ResponseBody的组合
我相信你现在已经明白了。我将其更改为@RestController
返回结果如图,这里只贴出一部分。
至此使用springboot的ssm框架的搭建就完成了,个人感受是使用springboot确实很方便,减少了很多复杂繁琐的配置文件,每天进步一点点,如果有表达不恰当的地方还希望大家指正。
一个程序员去公司面试,面试官拿着他的简历说:“你不是2016年毕业的吗?按理说你只有两年工作经验牛刀 简历,简历上怎么写三年?”然后程序员一本正经地说:“多出来的一年是我加班费。”面试官无语,默默点头。