spring常见注解:
标注类上的注解:
@Data : 标注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法
@AllARrgsConstructor 标注在类上 相当于全参构造
@NoARrgsConstructor 标注在类上 相当于无参构造
@Component //用于实例化对象可以用在所有的类上,一般标注在不属于三层上的时候相当于<bean id="" class=""/>
@Controller //标注在表示层类上
@Service //标注在业务层的类上
@Repository //标注在持久层的类上
@Scope //标注在类上,用于指定Bean的作用范围(单例和多例)相当于配置文件中的<bean scope="">
相当于<bean init-mothod="init" destroy-method="destroy">
@ControllerAdvice//标注在类上,声明当前类是一个专门处理异常的类
@RestController //复合注解:相当于ResponseBody+Controller
@Component //此注解标注在类上 用于组件扫描 相当于<context: component-scan base-package="项目下包名"/>
@PropertySource //标注在类上,用于专门读取配置文件到Java中(用于引入properties配置文件)
@Import //在一个配置类中导入其它配置类的内容
@Configuration //被此注解标注的类,会被spring容器默认为配置类,作用:当spring容器启动的时候自动扫描并加载所有配置类,然后将配置类中的Bean放入spring容器中
@RunWith(SPringJunit4ClassRunner.class) //切换运行器,换成spring的运行器,它可以自动启动spring环境
@ContextConfiguration(classes= 配置类 . class)//向运行器传递xml配置文件 相当于 @ContextConfiguration("Classpath: applicationContext.xml")
@Aspect //标注在增强类上,切面注解 @PointCut //切点表达式 相当于exception:"execution(*com.公司名.service.impl * . * (..))"
@Before //前置通知-在切点之前打印日志
@afterReturning //后置通知-在切点方法正常结束之后打印日志 @afterThrowing //异常通知-在切点方法异常的时候打印日志 @after //在切点方法运行的最后打印日志
@Around //环绕通知
@EnableAspectAutoProxy //激活切面自动代理 相当于 < aop : aspectj - AutoProxy / >
@EnableTransactionManagement //激活事务管理 相当于<tx: annotation -driven / >
标注方法上的注解:
@Bean 只能标注在方法上,声明使用此方法创建一个对象存入spring容器中
@PostConstruct 标注在方法上,表示对象创建之后执行
@PreDestroy 标注在方法上,表示对象销毁之前执行
@Autowired 自动装配 可以标注在对象属性上和set方法上 当标注在属性上的时候,属性上对应的set方法可以省略不写,spring会在IOC容器中按照属性类型寻找如找到一个则进行注入,如找到多个或没找到会报错 相当于:<property name="" ref="">同@Qualifier
@Qualifier 跟@Autowired联合使用 表示按照类型匹配的基础上再按照名称匹配
@Value ,bean的 简单属性注入 相当于 <property name="" value="">
@DateTimeFormat::接收Date类型数据,相当于springMVC底层完成string-->date
@JsonForMat ("pattern="yyyy-MM-dd",timezone="Asia/Shanghai")
@RequestParam:标注在方法的参数前,用于对传入的参数做一些限制
value:默认的属性用于指定前端传入的参数名称
require:用于指定参数是否为必传
defaultValue:当参数非必传参数且前端没有传入参数时指定一个默认值
@ExceptionHandler:标注在方法上,声明当前方法可以处理的异常
@PostMapping::仅仅接收POST请求,有请求体
@GetMapping:仅仅接收GET请求,没有请求体
@DeletMapping:仅仅接收删除请求:有请求体
@PutMapping:仅仅接收更新请求,有请求体
@PathVariable:标注在请求参数之前,用于从请求路径中取值赋值给方法参数;占位符 {}