spring-boot入门(一)快速搭建一个web应用
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。简单点讲使用spring boot只需要添加相关依赖包将自动为我们配置一些常规的东西,避免各种xml配置。下面让我们来快速入手搭建一个web应用。
1.继承starter parent
在pom文件中加入如下配置:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.RELEASE</version>
</parent>
我这里使用的是1.4.2.RELEASE版本,spring相关版本是4.3.4.RELEASE。不同公司使用的spring版本不同可能要切换相应的spring boot版本。继承spring-boot-starter-parent后就不用管理其它相关组件的版本号,starter parent已经设置好了,这样野避免了自己定义版本可能会导致依赖冲突或者不一致等问题。
2.引入相关spring-boot-starter依赖
要搭建一个web应用只需要加入spring-boot-starter-web就行了,是不是非常方便。引入spring-boot-starter-web后我们看看它自动帮我们加入了哪些模块。
- spring-boot-starter
spring-boot-starter包含了spring boot的核心模块,自动配置、日志、spring-core、snakeyaml。 - spring-boot-starter-tomcat
内嵌的tomcat容器 - spring-web、spring-webmvc
web相关的依赖
只需要引入spring-boot-starter-web搭建一个web项目需要的依赖基本都被加进来了,完全不需要担心jar包冲突,版本不兼容等问题,更不需要配置web.xml和springmvc的相关配置。接下来就是一个简单的controller和一个应用启动主类。
3.添加一个controller
控制层处理我们的相关请求,下面直接看代码:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author JasonLin
* @version V1.0
* @date 2017/11/30
*/
@RestController
public class HelloWorldController {
@Value("${message:hello world!}")
private String message;
@RequestMapping("/")
public String helloWorld(){
return message;
}
}
- @RestController
@RestController与@Controller不同的地方是,@RestController不会反视图,等同于@ResponseBody + @Controller复合用法。可以简单理解为@RestController返回的是json格式的数据而不是jsp或者html。
- @Value(“${message:hello world!}”)
@Value自动注入属性值,该属性name=message,默认值为hello world!
4.启动主类
spring boot使用一个主类来加载整个web工程,需要注意的是该主类必须位于main/java目录下的某一个包中,直接将主类置于默认包会在启动是提示警告:
** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.
主类代码如下,@SpringBootA