SpringBoot常用注解
1)@RestController和@RequestMapping
@RequestMapping:注解提供路由信息。它告诉Spring任何来自"/"路径的HTTP请求都应该被映射到home方法。http://localhost:8080/hello
@RestController注解告诉Spring以字符串的形式渲染结果,并直接返回给调用者。该注解有六个属性:
params:指定request中必须包含某些参数值是,才让该方法处理。
headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。
value:指定请求的实际地址,指定的地址可以是URI Template 模式。
method:指定请求的method类型, GET、POST、PUT、DELETE等。
consumes:指定处理请求的提交内容类型(Content-Type),如application/json,text/html。
produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回。
//整个程序的入口,启动springboot项目 创建内置tomcat服务器,使用tomcat加载springmvc 注解启动类
public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); }
2) @EnableAutoConfiguration @ComponentScan() @SpringBootApplication
这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring
第一种启动方式:@EnableAutoConfiguration:自动配置,注解作用:扫包范围,默认在当前类里面
@EnableAutoConfiguration @RestController public class HelloWorldController { @RequestMapping("/llo") public String index() { return "Hello World"; } public static void main(String[] args) { SpringApplication.run(HelloWorldController.class, args); } }
第二种启动方式:加上扫包范围:@ComponentScan()
@ComponentScan(basePackages= {"com.example.demo.controller","com.example.demo.order.controller"}) 扫两种包
@ComponentScan缺点:如果扫包比较多的话,写起来比较麻烦
@EnableAutoConfiguration
@ComponentScan("com.example.demo.order.controller")
public class APP2 {
public static void main(String[] args) {
SpringApplication.run(APP2.class, args);
}
}
@RestController public class OrderController { @RequestMapping("/orderIndex") public String index() { return "orderIndex"; } }
第三种启动方式(最重要):@SpringBootApplication
@SpringBootApplication 等于 @EnableAutoConfiguration+@ComponentScan() 同级包和当前包
@SpringBootApplication public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
@RestController public class HelloWorldController2 { @RequestMapping("/llo") public String index() { return "Hello11111111 World"; } }
3) @Configuration
4) @SpringBootApplication
5) @Profiles
6) 全局异常处理
7) 其他注解