1.@Controller和@RestController的区别
(1)使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面。
(2)@RestController注解相当于@ResponseBody + @Controller合在一起的作用,返回的内容就是Return 里的内容。
(3)@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML
2.项目启动方式:主要使用第二种方式
(1)@EnableAutoConfiguration
@RestController
@EnableAutoConfiguration
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "Hello";
}
public static void main(String[] args) {
SpringApplication.run(HelloController.class,args);
}
}
(2)@SpringBootApplication
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "Hello";
}
}
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class,args);
}
}
3.springboot默认扫描,静态文件默认扫描static文件夹,前台模板默认扫描templates,配置文件默认扫描application.properties
4.异常捕获 @ControllerAdvice @ExceptionHandler
@ControllerAdvice
public class GlobalException {
@ExceptionHandler(RuntimeException.class)
@ResponseBody
public String RuntimeExcption() {
return "Exception";
}
}
目前仍然存在疑问:
(1)SpringBootApplication和EnableAutoConfiguration的区别是什么?
(2)Spring AOP是什么,主要应用在哪里,怎么用AOP写异常捕获