一直说是在学spring boot,其实主要是在看各种资料博客啥的,终究是“纸上得来终觉浅,绝知此事要躬行”。所以今天自己动手试了试打印一下最简单的hello world。
先说一下spring boot的优点吧,我的个人理解是便捷性。使用spring boot可以减小绝大部分繁琐的配置过程,只需要简单的配置就可以构建一个web项目或者微服务。说到便捷性这儿,我一开始并不知道spring boot 是内置tomcat的,所以还傻傻的部署服务器,其实简单的项目直接一键启动就好了,当然生产环境中还是排除内置服务器,打包部署生产比较好。
spring boot项目的构建需要maven,maven具体的配置就略过了,网上能搜到,直接导入项目,我是在官网下载的demo上手的,地址:http://start.spring.io/ 。直接general下载就行,解压之后用IDEA导入,下边是项目结构。
这只是实现最简单的hello world,如果是成熟的项目,还有model层,dao层,controller层啥的。service 层主要是业务类代码,controller 负责页面访问控制。
配置一下pom.xml,引入支持web的模块:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
编写controller内容:
@RestController // 该注解的意思是 HelloWorldController 中的方法都以json输出,不用配置jackjson了
public class HelloWorldController {
@RequestMapping("/hello")
@ResponseBody
public String index() {
return "hello world!";
}
}
启动DemoApplication,在浏览器输入http://localhost:8080/hello,就可以看到结果了。
就是这么简单 = =,但是一定要注意,DemoApplication一定要放在最外层!!spring-boot会自动加载启动类所在包下及其子包下的所有组件,我折腾了一上午一直报This application has no explicit mapping for /error, so you are seeing this as a fallback.的错误,后来发现是我DemoApplication放错了位置。