学習spring Boot(一)

4114 ワード

前言:第1部では主に@SpringBootApplication、@RestController、@RequestMapping注記を学習しました
一、spring Bootエントリクラスと@SpringBootApplication
プロジェクトプロジェクトを新規作成すると、artifactid+Applicationというエントリクラスを作成できます.このクラスにはmainメソッドがあります.このmainメソッドは標準的なJavaアプリケーションのエントリメソッドです.ここでの@SpringBootApplicationは、

@SpringBootApplication
public class GirlApplication {

	public static void main(String[] args) {
		SpringApplication.run(GirlApplication.class, args);
}

SpringBootApplication :


@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {

@SpringBootConfiguration、@EnableAutoConfiguration @ComponentScan, @SpringBootApplication, , 。 ,@SpringBootConfiguration @Configuration , ,@EnableAutoConfiguration Spring Boot jar , @ComponentScan , @SpringBootApplication , , groupId+arctifactID 。

:@EnableAutoConfiguration:

@RestController @RequestMapping

: @RestController @RequestMapping Spring MVC ( Spring Boot )

1、@Controller: SpringMVC , Controller DispatcherServlet , Model , Model View 。 SpringMVC Controller , , @Controller Controller , @RequestMapping @RequestParam URL Controller , Controller 。 Controller HttpServletRequest HttpServletResponse HttpServlet , Controller 。

@Controller , SpringMVC Controller 。 , @RequestMapping 。@Controller , @RequestMapping 。 @Controller SpringMVC , Spring 。 Spring ? Spring 。 :

  (1) SpringMVC MyController bean 。 
  (2) SpringMVC Spring @Controller Controller 。

2、@RestController:4.0 @RestController , @Controller 。4.0 ,Spring MVC @Controller servlet。 , REST @Controller @RestController。

RESTful web services ,response response body 。 ,Spring 4.0 controller。 @RestController :


@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController

3、@RequestMapping:RequestMapping , 。 , 。 
RequestMapping , :

(1)、 value, method; 
value: , URI Template ; , , :


@RequestMapping(value = {"/hello","/hi"},method = RequestMethod.GET)

, localhost:8080/hello localhost:8080/hi 。

method: method , GET、POST、PUT、DELETE ;

(2)、consumes,produces 
consumes: (Content-Type), application/json, text/html; 
produces: , request (Accept) ;

(3)、params,headers 
params: request , 。 
headers: request header , 。

:@RequestMapping 。 Spring "/" HTTP home 。 @RestController Spring , 。