Spring、SpringMVC、SpringBoot常见注解详细介绍
一、为什么要使用注解
- 注解可以简化代码的编写,避免重复和冗余的配置,提高代码的可读性和可维护性。
- 注解可以实现面向切面编程(AOP),在不修改源代码的情况下,增加额外的功能,如日志、事务、缓存等。
- 注解可以实现依赖注入(DI),在运行时动态地将对象的依赖关系注入到目标对象中,降低对象之间的耦合度。
- 注解可以实现自动化测试,通过使用特定的注解来标记测试类和测试方法,方便测试框架执行测试用例。
二、如何使用注解
- 使用注解需要遵循一定的规范和约定,不同的框架和场景可能有不同的要求和限制。
- 一般来说,使用注解需要以下几个步骤:
- 导入或定义需要使用的注解类
- 在合适的位置使用@符号加上注解名称和属性来标记目标元素
- 在编译或运行时通过反射或其他机制来读取和处理注解信息
- 根据注解信息执行相应的逻辑或操作
三、Spring注解
@Component、@Controller、@Service、@Repository
说明:使用在类上用于实例化Bean
@Autowired
说明:使用在字段上用于根据类型依赖注入
@Qualifier
说明:结合@Autowired一起使用用于根据名称进行依赖注入
@Scope
说明:标注Bean的作用范围
@Configuration
说明:指定当前类是一个Spring配置类,当创建容器时会从该类上加载注解
@ComponentScan
说明:用于指定Spring在初始化容器时要扫描的包
@Bean
说明:使用在方法上,标注将该方法的返回值存储到Spring容器中
@Import
说明:用于@Import导入的类会被Spring加载到IOC容器中
@Aspect、@Before、@After、@Around、@Pointcut
说明:用于切面编程(AOP)
四、SpringMVC注解
@RequestMapping
说明:用于映射请求路径,可以定义在类上和方法上。用于类上,则表示类中的所有方法都是以该地址作为父地址
@RequestBody
说明:注解实现接收http请求的json数据,将json转换为java对象
@RequestPqram
说明:指定请求参数的名称
@PathViriable
说明:从请求路径下中获取请求参数(/user/{id}),传递给方法的形式参数
@ResponseBody
说明:注解实现将controller方法返回对象转化为json对象响应给客户端
@RequestHeeader
说明:获取指定的请求头数据
@RestController
说明:@Controller+@ResponseBody
五、SpringBoot
@SpringBootConfiguration
说明:组合了-@Configuration注解,实现配置文件的功能
@EnableAutoConfiguration
说明:打开自动配置的功能,也可以关闭某个自动配置的选项
@ComponentScan
说明:Spring组件扫描