SpringBoot应用回顾
约定优于配置
概念 : 约定优于配置(Convention over Configutation),又称按约定编程,是一种软件设计规范,本质上是对系统、类库或者框架中的一些东西假定一个大众化合理的默认值(缺省值)
例如在模块中存在一个名为User的类,那么对应到数据库会存在一个名为user的表,此时无需做额外的配置,只有在隔离这个约定时才需要做相关的配置,例如你想要将表明命名为t_user等非user时才需要写 关于这个名字的配置。
如果所用工具的约定与你的期待相符,变更个省区配置;反之,你可以配置到达你所期望的方式。简单的来说就是加入你所一带的配置与约定的配置一致,那么就可以不需要做任何配置,约定不符合期待时才需要对约定进行交替配置,好处就是大大减少了配置项。
什么是Springboot
SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一版本的全新开源的轻量级框架,它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进行进一步简化Spring应用的整个搭建和开发过程,另外SpringBoot通过集成大量的框架使得依赖包的版本冲突以及引用不稳定的问题得到了很好的解决。
SpringBoot主要特性
- SpringBoot Starter:他将常用的依赖分组进行整合,将其合并到一个依赖中,这样就可以一次添加到项目的Maven或者Gradle构建中
- 使编码变得简单,SpringBoot采用javaConfig的方式对Spring进行配置,并且提供了大量的注解,极大的提高了工作效率。
- 自动配置:SpringBoot的自动配置特性利用了Spring对条件优化配置的支持,合理地推测应用所需的Bean并自动化配置他们
- 使部署变得简单,SpringBoot内置了三种Servlet容器,Tomcat,Jetty,undertow,我们只需要一个Java的运行环境就可以跑SpringBoot的项目了,SpringBoot的项目可以打成一个jar包
案例实现
使用Spring Initializr方式构建Spring Boot项目,并请求Controller中的目标方法,将返回值响应到页面
本质上说,Spring Initializr是一个Web应用,它提供了一个基本的项目结构,能够帮助我们快速构建一个基础的Spring Boot项目
Project SDK”用于设置创建项目使用的JDK版本,这里,使用之前初始化设置好的JDK版本即可;在“Choose Initializr Service URL(选择初始化服务地址)”下使用默认的初始化服务地址“https://start.spring.io”进行Spring Boot项目创建(注意使用快速方式创建Spring Boot项目时,所在主机须在联网状态下)
Spring Boot项目就创建好了。创建好的Spring Boot项目结构如图:
使用Spring Initializr方式构建的Spring Boot项目会默认生成项目启动类、存放前端静态资源和页面的文件夹、编写项目配置的配置文件以及进行项目单元测试的测试类
创建Controller
com.lagou包下创建名称为controller的包,在该包下创建一个请求处理控制类HelloController,并编写一个请求处理方法 (注意:将项目启动SpringBootDemoApplication移动到com.lagou包下)
@RestController // 该注解为组合注解,等同于Spring中@Controller+@ResponseBody注解
public class DemoController {
@RequestMapping("/demo")
public String demo(){
return "hello springBoot";
}
}
运行项目
运行主程序启动类SpringbootDemoApplication,项目启动成功后,在控制台上会发现Spring Boot项目默认启动的端口号为8080,此时,可以在浏览器上访问“http://localhost:8080/hello”
至此,构建Spring Boot项目就完成了
注意 这里中文乱码的问题有以下两种解决方式
方法一:
@RequestMapping(produces = "application/json; charset=utf-8")
方法二:
#设置响应为utf-8
spring.http.encoding.force-response=true