springboot项目集成ssm

最近在面试,面试官问我会不会自己搭建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
		

复制即可使用。

第二步:创建包,结构如下。

springboot项目集成ssm_第1张图片

第三步:使用spring注解注入

控制层

springboot项目集成ssm_第2张图片

服务层

springboot项目集成ssm_第3张图片

mybatis支持的xml标签,写入一个简单的查询

springboot项目集成ssm_第4张图片

第四步:配置数据源

springboot项目集成ssm_第5张图片

这个就不复制了,网上都有范例,直接搜索就有的。

第五步:最后写一个查询列表,小试牛刀

springboot项目集成ssm_第6张图片

因为查询列表,所以用list接受,返回出去。然后查看结果:

springboot项目集成ssm_第7张图片

这么多英语,但是只要认识数字就好了,500说明我们的代码错了,然后到控制台看下是什么原因,排查下问题。

可以清楚的看到我查询出来的长度已经输出出来,说明方法是没问题的。

解决如下:

控制台出现了这个异常:Error resolving template "xxx", template might not exist or might not be accessible by any of the configured Template Resolvers

解决办法:在报出这个异常的方法上添加注解@ResponseBody

@ResponseBody 这个注解, 就表明该方法的返回值直接写入到 HTTP Response Body 中。 这就是说,如果返回的是JSON, 就得必须添加 @ResponseBody 这个注解,一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。

比如异步获取json数据,加上@responsebody后,会直接返回json数据。

controller层加注解@Controller 和@RestController都可以在前端调通接口,但是二者的区别在于,当用前者的时候在方法上必须添加注解@ResponseBody,如果不添加@ResponseBody,就会报上面错误,因为当使用@Controller 注解时,spring默认方法返回的是view对象(页面)。而加上@ResponseBody,则方法返回的就是具体对象了。@RestController的作用就相当于@Controller+@ResponseBody的结合体

看到这里,相信你已经明白了。我这里换成@RestController

springboot项目集成ssm_第8张图片

返回结果如图,这里只贴一部分。

springboot项目集成ssm_第9张图片

      至此使用springboot搭建ssm框架就完成了,个人感想:使用springboot确实很方便,减少了许多的复杂繁琐的配置文件,每天进步一点点。如有表达不当的地方,还望大家指正。

      每日一笑:程序员面试:一个程序员去一家公司面试,面试官拿着他的简历说:“你不是16年毕业的吗,按道理来说不是才有两年工作经验吗,简历上怎么写着三年经验啊”,然后程序员语重心长说道:“多的一年是我的加班”。面试官顿时竟无语凝噎,默默点头不说话

 

你可能感兴趣的:(Java开发)