Spring 常用注解

自定义注解(元注解)

@Target-----------注解用在哪里:类上、方法上、属性上等等
@Retention--------------注解的生命周期:源文件中、字节码文件中、运行中

项目中常用注解

@Test-------单元测试方法
@Override----------用来标识重写方法
@Configurable-----------标识当前类为配置类
@Bean------------告诉Spring容器,当前方法的名称为Map中的Key,返回值是Map中的Value
@ComponentScan(“com..”)--------------包扫描注解:让其他spring注解生效
@Scope(“prototype”)--------------多例对象(默认单例)
@Before ------------------------------单元测试方法执行前执行,相当于初始化操作
@RunWith(SpringJUnit4ClassRunner.class) ----------------------------------将测试运行在Spring环境中
@ContextConfiguration(locations = {“classpath : 配置文件”})-------------------------设置要加载的配置文件
@Lazy -----------------懒加载
@PostConstruct -------------初始化方法注解
@PreDestroy--------销毁方法注解
@Component-----------------Spring自动为该注解标识的类通过反射实例化对象,交给Spring容器管理
@Autowired------------------自动注入
@Resource-------------------自动注入
@Qualifier(value = “pig”)-------------------必须和@Autowired联用,并且需要指定value的名称(Spring中的Key)
@Value(“1”)-----------------普通属性赋值注解
@PropertySource(value = “classpath:/dept.properties”,encoding = “utf-8”)---------------------当Spring容器启动时,加载指定的配置文件,将数据保存到容器中
@Repository---------------标记持久层,交给spring容器管理
@Service-----------------业务层注解,交给spring容器管理
@Controller--------------控制层注解,交给spring容器管理
@Aspect-------------------标识当前类是一个切面 切面=切入点表达式+通知方法
@Pointcut ----------------------用于定义切入点表达式 表达式写法4种
@Before -------------------------AOP-前置通知
@EnableAspectJAutoProxy --------------------让AOP的注解有效果
@Before----------------------------- AOP-前置通知
@AfterReturning----------------------------- AOP-后置通知
@AfterThrowing------------------------------ AOP异常通知
@Around-------------------------------------- AOP-环绕通知
@Order(1) ---------------------------可以利用order关键字 实现AOP的排序 数字越小越先执行.
@ResponseBody------------------------------ 将返回的数据转化为JSON串, 如果是字符串本身 原数据返回
@RequestMapping(“/hello”)----------------------------------- 实现浏览器的请求路径与方法的映射
@RestController-------------------------------------等同于@ResponseBody+@Controller
@PathVariable---------------------------------------- restFul结构,接收参数的注解.
@GetMapping(“”) ---------------------------------------只能接收GET请求类型
@DeleteMapping(“”) ---------------------------------------只能接收DELETE请求类型
@PostMapping(“”)--------------------------------------- 只能接收POST请求类型
@PutMapping(“”)--------------------------------------- 只能接收PUT请求类型
@CrossOrigin-----------------------------------解决跨域问题
@RequestBody--------------------------- 参数接收时,将JSON串转化为java对象 json中的key与对象的属性一致.
@Data-------------------------------------lombok动态生成get/set/toString/equals/hashcode等方法
@Accessors -------------------------------------控制是否开启链式加载结构
@NoArgsConstructor -------------------------------------生成无参构造方法
@AllArgsConstructor------------------------------------- 生成全参构造方法
@Mapper -------------------------------------mybatis将当前的接口交给Spring容器管理. Map<类名小写,JDK动态代理对象>
@SpringBootTest------------------------------------- 该注解的作用在进行代码测试时启动spring容器,之后动态的获取对象 注意包路径 主启动类的同包及子包中.
@Param -------------------------------------Mybatis中将参数封装为Map集合
@Transactional -------------------------------------Spring中用来控制事务
@RestControllerAdvice ------------------------------------- Controller层的全局异常处理
@ExceptionHandler ------------------------------------- 按照某种异常类型进行拦截
@TableName(“item_cat”) -------------------------------------MybatisPlus注解POJO与数据表绑定 注意表名
@TableId(type = IdType.AUTO) -------------------------------------MybatisPlus注解 标识主键/主键自增
@TableField(exist = false) -------------------------------------MybatisPlus注解 标识属性是否存在,及名称是否一致
@LoadBalanced -------------------------------------注解能让RestTemplate在请求时拥有客户端负载均衡的能力
@sentinelresource ------------------------------------- 定义限流切入点方法,底层基于Aop对请求限制
@EnableFeignClients ------------------------------------- 启用feign客户端
@FeignClient ------------------------------------- 定义feign客户端
@slf4j ------------------------------------- 相当于 private final Logger logger = LoggerFactory.getLogger(当前类名.class)
@EnableAuthorizationServer ------------------------------------- 表示启动授权服务
@PreAuthorize ------------------------------------- 标识的方法为权限切入点方法
@EnableResourceServer ------------------------------------- 启动资源服务名配置
@EnableGlobalMethodSecurity ------------------------------------- 表示启动方法层面的权限控制

(prePostEnabled = true 会解锁 @PreAuthorize 和 @PostAuthorize
两个注解。从名字就可以看出@PreAuthorize 注解会在方法执行前进行验证,而 @PostAuthorize
注解会在方法执行后进行验证。)

@EnableEurekaServer ------------------------------------- 触发 eureka server 的自动配置
@EnableEurekaClient ------------------------------------- 开启Eureka 服务注册发现
@EnableZuulPraxy ------------------------------------- 开启网关过滤器
@Async ------------------------------------- 描述方法底层会异步控制 (不由web服务线程执行)
@EnableConfigServer ------------------------------------- 触发 config server 的自动配置
@EnableHystrixDashboard ------------------------------------- 开启HystrixDashboard 功能
@EnableTurbine ------------------------------------- 开启Turbine配置
@EnableDiscoveryClient ------------------------------------- 开启服务注册发现,例如Nacos
@RefreshScope ------------------------------------- 刷新新数据重新注入进对象中
@ConfigurationProperties----------------------------------刷新配置数据重新拉取
@RabbitHandler ------------------------------------- 用来指定接收处理消息的方法
@RabbitListener ------------------------------------- 指定从哪一个队列获取消息,也可直接单独在方法上使用
@Quevebinding
@Queue ------------------------------------- 默认(false,true,true)队列,spring可以自动随机提参数,随机名
@Exchange ------------------------------------- 交换机
@PostConstruct ------------------------------------- 标记方法被spring执行,一般用来执行初始化
@Qualifier() ------------------------------------- 指定注入的key
@Transaction ------------------------------------- 控制本地数据库事务
@GlolalTransanction ------------------------------------- 启动全局事务,只在第一个模块添加
@EnableWebMvc是使用Java 注解快捷配置Spring Webmvc的一个注解。在使用该注解后配置一个继承于WebMvcConfigurerAdapter的配置类即可配置好Spring Webmvc。
通过查看@EnableWebMvc的源码,可以发现该注解就是为了引入一个DelegatingWebMvcConfiguration Java 配置类。并翻看DelegatingWebMvcConfiguration的源码会发现该类似继承于WebMvcConfigurationSupport的类。
其实不使用@EnableWebMvc注解也是可以实现配置Webmvc,只需要将配置类继承于WebMvcConfigurationSupport类即可
@CompilerControl(COmpilerControl.Mode.INLINE) -------------------------------当前方法开启方法内联

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小码不掉头发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值