SpringBoot的核心注解
@SpringBootApplication
SpringBoot的启动类,此注解等同@SpringBootConfiguration
+@EnableAutoConfiguration
+@ComponentScan
的组合。
@SpringBootConfiguration
@SpringBootConfiguration
是@Configuration
注解的派生注解,跟@Configuration
注解的功能一致,标注这个类是一个配置类,只不过@SpringBootConfiguration
是SpringBoot的注解,而@Configuration
是Spring的注解。
@Configuration
通过对bean对象的操作替代Spring中xml文件。
@EnableAutoConfiguration
SpringBoot自动配置(auto-configuration):尝试根据你添加的jar依赖自动配置你的Spring应用。此注解是@AutoConfigurationPackage
和@Import
注解的组合。
@AutoConfigurationPackage
自动注入(扫描)SpringBoot主类(启动类)下所在包下所有的加了注解的类(@Controller
,@Service
等),以及配置类(@Configuration
)。此注解是@Inherited
和@Import
注解的组合。
@Import
- 直接导入普通的类。
- 导入实现了ImportSelector接口的类。
- 导入实现了ImportBeanDefinitionRegistrar接口的类。
@ComponentScan
用于组件扫描,可自动发现和装配一些Bean。
@Inherited
…
@Repeatable
…
1. RestController
Spring MVC
@RestController = @ResponseBody + @Controller
@RestController注解告诉Spring将生成的字符串直接返回给调用者。@RestController是Spring4之后新加入的注解,原来返回json需要@ResponseBody和@Controller配合。
2. ResponseBody和RequestBody
@ResponseBody
@RequestBody
@ResponseBody 它的作用简短截说就是指该类中所有的API接口返回的数据,甭管你对应的方法返回Map或是其他Object,它会以Json字符串的形式返回给客户端,如果返回的是String类型,则仍然是String。
3. RequestMapping
Spring MVC
@RequestMapping
- value
- method
- params
- headers
- consumes
- produces
@RequestMapping注解提供“路由”信息。
@GetMapping = @RequestMapping(method = RequestMethod.GET)
@PostMapping = @RequestMapping(method = RequestMethod.POST)
@PutMapping = @RequestMapping(method = RequestMethod.Put)
@DeleteMapping = @RequestMapping(method = RequestMethod.Delete)
@PatchMapping = @RequestMapping(method = RequestMethod.Patch)
4. RequestParam
@RequestParam
- value
- required
- defaultValue
5. PathVariable
@PathVariable
- value
6. ModelAttribute
@ModelAttribute
7. SessionAttributes
@SessionAttributes
参考: