Spring框架常用注解

发布时间:2024年01月21日

1.spring常见注解

spring常见注解主要用作实例化对象

@Component @Controller @Service @Repository 使用在类上用于实例化Bean

@Controller 标注在表示层上?@Service标注在业务层上?@Repository标注在持久层上 不属于此三层使用@Component

@Autowired 使用在字段上根据类型依赖注入

@Qualifier 结合@Autowired一起使用? 用于根据名称进行依赖注入DI

@Qualifier("***Impl"),依赖注入Service层,其实现类匹配能匹配多个时,使用指定实现类名称进行注入,也可以@Primary标注在实现类上,表示当一个接口有多个实现类时,默认使用哪个作为主实现

@Bean 上述注解都是用于将自己创建的类的对象放入IOC容器中,而@Bean用于将第三方提供的类创建对象放入Spring容器中.

@Bean写在方法上,表示该方法的返回对象放到Spring容器中,在容器中的标识默认是方法名,@Bean与标注的方法的代码要写在配置类中即@Configuaration标注的类

@Configuaration 指定当前类是一个Spring配置类,Spring在启动的时候会自动扫描加载类中的配置

@ComponentScan 用于指定Spring在初始化容器时要扫描的包,也可Mapper层上直接标@Mapper

@Scope标注Bean的作用范围? ?Spring支持五种作用域

@Scope("singleton")设置类要创建单例对象,这也是默认配置

@Scope("prototype")多例对象

@Import 使用@Import导入的类会被Spring加载到IOC容器中

spring常见注解中也有用于切面编程(AOP)的,多用于增强方法(共有功能)、测试代码性能、日志记录、事务管理(@Transactional声明式事务)等

@Aspect定义切面类

@Pointcut 用于定位切点,内execution()写切点表达式,一般配合自定义注解使用,@annotation("自定义注解包名")

@Before 前置通知@After 后置通知@Around环绕通知

2.SpringMVC常用注解

SpringMVC注解主要用来接收前端请求参数,响应返回数据的

@RequestMapping用于映射请求路径,可定义在类上和方法上.用于类上,则表示类中的所有方法都是以改地址作为父路径

@RequestBody 注解实现接收http请求的json数据,将json转换为java对象

@RequestParam指定请求参数的名称

@PathViriable从请求路径中获取请求参数(/user/{id}),传递给方法的形式参数

@RequestHeader获取指定的请求头数据

@ResponseBody注解实现将controller方法返回对象转换为json对象响应给客户端

@RestController =@Controller+@ResponseBody,一般代码开发中返回值都要求是json对象,所以直接在表示层类上标注@RestController即可

@RestControllerAdvice 标注在类上,声明当前的类是一个专门处理异常的类

@ExceptionHandler标注在方法上,声明当前方法可以处理哪些异常

基于Restful软件架构风格,强调HTTP应当以资源为中心(请求地址中尽量不要出现动词)

REST规范了HTTP请求动作,使用四个词语分别标识对资源CRUD操作:GET(获取)、POST(新建)、PUT(更新)、DELETE(删除)

于是Conroller表示层接收请求时,类上标注先标注@RestController,再标注@RequestMapping表示请求共用路径,类中具体Conroller方法上使用@GetMapping、@PostMapping、@PutMapping、@DeleteMapping,接收具体的增删改查请求

 

3.Springboot常见注解

@SpringBootApplication启动类专用注解

@ConfigurationProperties标注在配置类上,用于读取配置类文件(yml)中指定前缀prefix的配置信息。例如@ConfigurationProperties(prefix=“user”)

@Value 读取配置文件中的属性值并逐个注入到Bean对象对应的属性中,

例如@Value("${property.name}")

@Slf4j 记录日志用的,添加此注解后,就可以在类中使用log的对象了

@SpingBootConfiguration 组合了@Configuration注解,实现配置文件的功能

@EnableAutoConfiguation 打开了自动配置的功能,也可以关闭某个自动配置的选项

@ComponentScan? Spring组件扫描

@SpringBootTest标注在单元测试的类上 注意测试类的位置必须在启动类所在包之下,测试方法正常标注@Test

文章来源:https://blog.csdn.net/sunyunfei1994/article/details/135721214
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。