首页 > 其他分享 >spring和springboot注解的使用

spring和springboot注解的使用

时间:2023-09-11 18:01:59浏览次数:35  
标签:springboot default spring value bean 注解 TYPE name

spring和springboot注解的使用

首先看一下ElementType取值范围:

   //用于描述类、接口(包括注解类型) 或enum声明
    TYPE,
//用于描述域
     FIELD,
//用于描述方法
     METHOD,
//用于描述参数
     PARAMETER,
	//用于描述构造器
     CONSTRUCTOR,
//用于描述局部变量
     LOCAL_VARIABLE,
//用于注解类型
     ANNOTATION_TYPE,
//用于描述包
     PACKAGE,
   //该注解能使用在自定义类型参数(参数的自定义类型可以是javaBean或者枚举等)
    TYPE_PARAMETER,
 //可以在任意语句使用
    TYPE_USE

@Bean

value:bean别名和name是相互依赖关联的,value,name如果都使用的话值必须要一致;
name:bean名称,如果不写会默认为注解的方法名称;
autowire:自定装配默认是不开启的,建议尽量不要开启,因为自动装配不能装配基本数据类型、字符串、数组等,这是自动装配设计的局限性,并且自动装配不如依赖注入精确;
initMethod:bean的初始化之前的执行方法,该参数一般不怎么用,因为完全可以在代码中实现;
destroyMethod:默认使用javaConfig配置的bean,如果存在close或者shutdown方法,则在bean销毁时会自动执行该方法,如果你不想执行该方法,则添加@Bean(destroyMethod="")来防止出发销毁方法;
 
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Bean {
    @AliasFor("name")
    String[] value() default {};

    @AliasFor("value")
    String[] name() default {};

    Autowire autowire() default Autowire.NO;

    String initMethod() default "";

    String destroyMethod() default "(inferred)";
}

Autowire
	NO(0),
    BY_NAME(1),
    BY_TYPE(2);

@Qualifier

@Primary

@Order()

标签:springboot,default,spring,value,bean,注解,TYPE,name
From: https://www.cnblogs.com/q1359720840/p/17694126.html

相关文章

  • SpringBoot-Learning系列之Kafka整合
    SpringBoot-Learning系列之Kafka整合本系列是一个独立的SpringBoot学习系列,本着WhatWhyHow的思想去整合Java开发领域各种组件。消息系统主要应用场景流量消峰(秒杀抢购)、应用解耦(核心业务与非核心业务之间的解耦)异步处理、顺序处理实时数据传输管道异构语言架构......
  • SpringBoot集成微信支付JSAPIV3保姆教程
    前言最近为一个公众号h5商城接入了微信支付功能,查找资料过程中踩了很多坑,以此文章记录一下和大家分享前期准备公众号认证微信支付功能需要开通企业号并进行资质认证,费用一年300,且需企业营业执照等信息,对公账户打款验证登录微信公众平台https://mp.weixin.qq.com/,创建服务号如......
  • SpringBoot集成微信支付JSAPIV3保姆教程
    前言最近为一个公众号h5商城接入了微信支付功能,查找资料过程中踩了很多坑,以此文章记录一下和大家分享前期准备公众号认证微信支付功能需要开通企业号并进行资质认证,费用一年300,且需企业营业执照等信息,对公账户打款验证登录微信公众平台https://mp.weixin.qq.com/,创建服务号......
  • springboot的bean的声明周期
    创建对象属性填充aware接口的对应方法init-method方法(@PostConstruct)initialingBean接口的方法BeanPostProcessor的前置方法BeanPostProcessor的后置方法DisposableBean的distory方法测试对象@ComponentpublicclassTestControllerimplementsBeanNameAware,Initial......
  • 【JAVA日常】关于jeecgBoot @Dict注解的使用不生效问题
    项目中后端使用jeecgBoot开发,最近正好遇到一些关于改造和使用@dict字典注解的问题,正好记录一下,以防忘记。1、注解不生效问题1今天公司同事问,说这个注解加上了怎么还不起作用呢。我们就检查了代码中的使用。注解的添加以及使用都正常,然后排查发现接口调用时未执行字典的切面,那么......
  • [SpringSecurity5.6.2源码分析六]:ChannelProcessingFilter
    1、基础用法• ChannelProcessingFilter是SpringSecurity的第一个过滤器,具体排序规则见FilterComparator,image.png• 主要作用:可限制服务端接受的安全协议,比如说仅支持Https或者Http1.1开启配置类:• 首先我们注册到容器中的WebSecurityConfigurerAdapter是针对于WebSecurity的......
  • Spring Boot配置文件(yaml&properties)总结
    SpringBoot配置文件总结(qq.com)SpringBoot的两种配置文件(qq.com)SpringBoot中提供一个全局的配置文件:application.properties,这个配置文件的作用就是,允许我们通过这个配置文件去修改SpringBoot自动配置的默认值。SpringBoot支持两种格式的配置文件:application.pr......
  • springcloud日常学习
    一、 Ribbon客户端负载均衡1. 负载均衡介绍  ① LB,即负载均衡(LoadBalance),负载均衡是微服务架构中经常使用的一种技术。负载均衡是我们处理高并发、缓解网络压力和进行服务端扩容的重要手段之一,简单的说就是将用户的请求平摊的分配到多个服务上,从而实现系统的高可用性集群。......
  • Spring AOP概念全面解析
    1AOP简介思考:什么是AOP,AOP的作用是什么?1.1AOP简介和作用【理解】AOP(AspectOrientedProgramming)面向切面编程,一种编程范式,指导开发者如何组织程序结构OOP(ObjectOrientedProgramming)面向对象编程作用:简单的说就是在不改变方法源代码的基础上对方法进行功能增强。符合Sprin......
  • Spring源码分析(七)容器的扩展点(FactoryBean)
    在上篇文章中我已经对容器的第一个扩展点(BeanFactoryPostProcessor)做了一系列的介绍。其中主要介绍了Spring容器中BeanFactoryPostProcessor的执行流程,以及Spring自身利用了BeanFactoryPostProcessor完成了什么功能,对于一些细节问题可能说的不够仔细,但是当前阶段我想要做的......