①、@Controller
:用于标注控制层组件。
②、@RestController
:是@Controller
和 @ResponseBody
的结合体,返回 JSON 数据时使用。
③、@RequestMapping
:用于映射请求 URL 到具体的方法上,还可以细分为:
-
@GetMapping
:只能用于处理 GET 请求 -
@PostMapping
:只能用于处理 POST 请求 -
@DeleteMapping
:只能用于处理 DELETE 请求
④、@ResponseBody
:直接将返回的数据放入 HTTP 响应正文中,一般用于返回 JSON 数据。
⑤、@RequestBody
:表示一个方法参数应该绑定到 Web 请求体。
⑥、@PathVariable
:用于接收路径参数,比如 @RequestMapping(“/hello/{name}”)
,这里的 name 就是路径参数。
⑦、@RequestParam
:用于接收请求参数。比如 @RequestParam(name = "key") String key
,这里的 key 就是请求参数。
容器类注解有哪些呢?
-
@Component
:标识一个类为 Spring 组件,使其能够被 Spring 容器自动扫描和管理。 -
@Service
:标识一个业务逻辑组件(服务层)。比如@Service("userService")
,这里的 userService 就是 Bean 的名称。 -
@Repository
:标识一个数据访问组件(持久层)。 -
@Autowired
:按类型自动注入依赖。 -
@Configuration
:用于定义配置类,可替换 XML 配置文件。 -
@Value
:用于将 Spring Boot 中 application.properties 配置的属性值赋值给变量。
AOP 方面有哪些注解呢?
@Aspect
用于声明一个切面,可以配合其他注解一起使用,比如:
-
@After
:在方法执行之后执行。 -
@Before
:在方法执行之前执行。 -
@Around
:方法前后均执行。 -
@PointCut
:定义切点,指定需要拦截的方法。
事务注解有哪些?
主要就是 @Transactional
,用于声明一个方法需要事务支持。