Spring Boot可以轻松创建独立的,生产级的基于Spring的应用程序,他的特征:
1、创建独立的Spring应用程序
2、直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)
3、提供自己的'入门'POM来简化你的Maven配置
4、尽可能自动配置Spring
5、提供生产就绪功能,如指标,运行状况检查和外部配置
6、绝对不会生成代码,并且不需要XML配置
正如上面所说,不需要繁琐的xml配置,它的许多相关配置,都可以在application.properties里面完成,比如服务器应绑定到的网络地址,应用程序的上下文路径,Server HTTP端口,会话超时(秒),字符编码,访问日志目录等。
现在我们先来创建一个最简单的spring-boot:
如果你使用的是idea(不要社区版),其创建十分便捷:
第一步:点击File选择NEW PROJECT
选择next:
选填自己项目名和项目分组名,type为maven项目选项,然后点击next:
在这里初步选择自己web项目需要的jar包,如果是web项目一定需要选择web这个选项,如此项目中可以添加web项目依赖的jar包和pom配置:
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
如果没有选择也没有关系,之后自己在pom文件中把这两个dependency添加进去就好了,然后自己从写下DemoApplication就可以了,DemoApplication是整个项目的启动类。
勾选web之后,我们就可以开始一个简单的web应用测试下:
自己手写一个controller:
package com.example.demo.contorller; importorg.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * Created by yhw on 2018/5/23. */ @RestController public class firstContorller { @RequestMapping("/") public String returnIndex(){ return "god boy say hello"; } }
启动DemoApplication,之后,我们可以访问http://localhost:8080/,可以看到自己返回值已经在web页面了。
在这里需要注意的是我们写的controller还有service还有之后的dao层,都要在DemoApplication所在目录的子目录或者平级目录,否则项目启动无法访问到,我们可以这么理解,其子目录存在已经超过启动class能控制的范围。