背景
spring Boot 学习第一步,就是初始化项目和来一个hello world的api。
初始化
访问 http://start.spring.io/ 来初始化一个spring boot项目,生成的项目中包含最基本的 pom依赖项目。
在pom.xml
添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
入口文件
在创建好的包里就有DemoApplication.java 类,这是springboot的入口类。
@SpringBootApplication注解全局唯一
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
在这个类上可以添加
@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})
@EnableScheduling
来暂时停用对数据库的访问,以及启用任务管理。
控制器
接下来就是编写我们的控制层了,也就是处理http请求的。
@RestController
public class HelloController {
private final AtomicLong counter = new AtomicLong();
@RequestMapping("/hello")
public Person hello() {
return new Person(counter.incrementAndGet(),"4321");
}
@RequestMapping(value="/newWorld", method = RequestMethod.GET)
public String newWorld() {
return "Hello New43 da World";
}
}
@RestController声明这是一个restful API 的控制器,直接返回JSON串;@RequestMapping可以用来指定请求的地址和请求方法(GET/POST/PUT)
one more thing
@Controller
public class FileUploadController {
@GetMapping("/resTest")
@ResponseBody
public Person resTest() {
return new Person(3674,"fdasfa");
}
@PostMapping("/resTest")
@ResponseBody
public Person resTest() {
return new Person(3674,"fdasfa");
}
}
@Controller + @ResponseBody 同样可以产生 @RestController的效果。
@PostMapping和@GetMapping 看名字就知道是对应不同的请求方法。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。