Spring boot 是对Spring的改进,目的是用更少的配置实现更强大的功能。就Spring而言,往往在建立项目或在对项目的后期改进时会使用很多的配置文件进行大量的配置,最终使得软件项目变得可读性不高,不好维护等等。为了 改进这些,让程序员更好、更容易的开发软件项目,Spring boot也就随之出现了。它就是尽量减少配置,使得软件更容易、方便的开发。
下面我们就来建一个项目HelloWorld,来感受一下Spring boot:
1.开发spring boot 我们一般用的是Maven工程,你可以用eclipse建立Maven工程,然后在pom.xml中导入Spring boot 所需要的相关jar包,也可以用下面这个网址自动生成一个关于Spring boot的Maven工程。
Spring boot 自动生成网址:http://start.spring.io/
Spring boot 找jar包网址:http://mvnrepository.com/
不过我还是推荐第二种方法自动生成,这样比自己找jar包要方便许多,自动生成解压后,在eclipse中Import Exists Maven project导入就可以了,之后就可以进行相应的开发了。
2.在准备工作做完后,我们来试着跑一个Hello World:
你可以新建包和类也可以用它自动生成的类完成这个测试,用自动生成那个demo类你只需要照着下面添加注解和代码,然后运行该类访问:http://localhost:8080就可以看到网页输出hello world。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@EnableAutoConfiguration
public class DemoApplication {
@RequestMapping("/")
@ResponseBody
public String sayHello() {
return "Hello World";
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
3.下面来解释一下注解(如果你学习过SSH等框架,应该多少会了解点注解的用法)
(1)@RestController:加上RestController 表示修饰该Controller所有的方法返回JSON格式,直接可以编写Restful接口。(注:springMVC层和JSON结合,可以减少很多配置,使代码变的十分简洁)
(2)@EnableAutoConfiguration:作用在于让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置,它告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。
(3)@RequestMapping(“/“):来映射URL:可以用在类定义处和方法定义处。
- 类定义处:规定初步的请求映射,相对于web请求的根目录。
- 方法定义处:进一步细分请求映射,相对于类定义处的URL。如果类定义处没有使用该注解,则方法标记的URL相对于根目录而言。
- 同时它还可以指定URL映射(@RequestMapping(value=” “))、请求方法(method)、请求参数(parmas)、请求头(headers)。
- method:可以指定http请求的类型:get、post、put、delete。比如:@RequestMapping(value=” /hello” method=RequestMethod.DELETE))则表示只有指定delete方式的hello请求才能够指向该处理方法。
- params和headers只能支持简单的表达式:比如:– params1:请求必须包含名为params1的请求参数。
注:这是Spring 运行时所要查找的虚拟路径,/ 表示就是localhost:8080,如果你用了/dsds类似与这样的,你访问的路径就是:localhost:8080/dsds。
(4)@ResponseBody:将内容或对象作为http响应正文返回,并调用适合HttpMessageConverter的Adapter(适配器)转换对象,写入输出流。
注:SpringApplication.run(DemoApplication.class, args):标识为启动类
注:
- 如有不正确还请见谅。
- 另外,我做了一些关于Spring、Struts、Hibernate的小应用可以帮助理解这些框架,如需代码请访问我的Github:https://github.com/Zxnaruto