学習spring Boot(一)
一、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 , 。