@SpringBootApplication
@SpringBootApplication是一个组合注解
其中包括@SpringBootConfiguration、@EnableAutoConfiguration、
和@ComponentScan注解。
@SpringBootConfiguration
继承至@Configuration,此注释表示当前类是配置类,并会将当前类中声明
一个或者多个以@Bean注解标记的方法的实例纳入到Spring容器中,实例名
就是方法名。
@EnableAutoConfiguration
此注解是SpringBoot自动进行配置的核心,通过此注解能将所有符合自动配置
条件的Bean的定义加载到spring容器中。
@ComponentScan
此注解会扫描当前包及其子包下被@Component,@Controller,@Service,@Re
pository等注解biao标记的类纳入到spring容器中进行管理。
@Controller和RestController
@RestController是spring4之后加入的注解,原来在@Controller中返回jso
n需要@ResponseBody来配合,如果直接用@RestController替代@Controlle
r,默认返回json格式。而@Controller是用来创建处理http请求的对象,一般
结合@RequestMapping使用。
@ReuqestMapping
一个用来处理请求地址映射的注解,可以用于类或方法上。用于类上,表示类
中的所有响应请求都是该地址作为父路径。
@RestController
@RequestMapping ( "/test" )
public class HelloWorld {
@RequestMapping ( "/hello" )
public String hello ( ) {
return " hello world!" ;
}
}
常见属性
value:指定请求的实际地址,指定的地址可以是URL模式。
method:指定请求的method类型,GET POST PUT DELETE等。
consumes:指定处理请求的提交内容类型。如application/json、text/html
params:指定request中必须包含某些参数值,才让该方法处理。
headers:指定reuqest中必须包含某些指定的header值,才让该方法处理请求。
@RequestBody和@ResponseBody
@ReuqestBody注解允许request的参数在请求体中,通常结合前段POST请求
进行前后端交互。
@ResponseBody注解是将java对象转为json格式的数据返回给前端。
@PathVariale
当使用@RequestMapping URL tempalte样式映射的时候,即"/test/{Id}"
这时的Id可以通过@PathVariale注解绑定它传过来的值到方法的参数上。
@RestController
@RequestMapping ( "/test/{Id}" )
public class TestParhVariable {
@RequestMapping ( "/hello/{personId}" )
public String hello ( @PathVariable String Id, @PathVariable String personId) {
return "接收到访问路径里面的变量参数: Id=" + Id+ ", personId=" + personId;
}
}