zoukankan      html  css  js  c++  java
  • spring注解

    spring

    1、spring注解

    1、@RequestParam:

    获取参数的值,参数名可以不一致

    2、@PathVariable:

    1、获取rest风格参数的值,参数名可以不一致

    2、如果路径中的变量与方法中的变量名一致,可直接使用@PathVariable;

    3、如果二者不一致,则使用@PathVariable(Variable)显示指定要绑定的路径中的变量 。

    4、@PathVariable只能绑定路径中的占位符参数,且路径中必须有参数。

    3、@Configuration:

    @Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext

    类或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器

    4、@Conditional(xxx.class):

        这句代码可以标注在类上面,表示该类下面的所有@Bean都会启用配置,也可以标注在方法上面,只是对该方法启用配置。

    5、@ConditionalOnClass:

    是Springboot实现自动配置的重要支撑之一。其用途是判断当前classpath下是否存在指定类,若是则将当前的配置装载入spring容器

    6、@ConditionalOnMissingClass:

        某个class类路径上不存在的时候,才会实例化一个Bean

    7、@ConditionalOnMissingClass:

        某个class类路径上不存在的时候,才会实例化一个Bean

    8、@ConditionalOnBean:

        仅仅在当前上下文中存在某个对象时,才会实例化一个Bean

    9、@ConditionalOnMissingBean:

        该注解表示,如果存在它修饰的类的bean,则不需要再创建这个bean;可以给该注解传入参数例如@ConditionOnMissingBean(name = "example"),这个表示如果name为“example”的bean存在,这该注解修饰的代码块不执行。

    10、@ConditionalOnExpression:

        当表达式为true的时候,才会实例化一个Bean

    11、@ConditionalOnNotWebApplication:

        不是web应用

    12、@Resource:

    作用相当于@Autowired,只不过@Autowired按Type自动注入,而@Resource默认按 Name自动注入罢了。@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。
      @Resource装配顺序
      1. 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常
      2. 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常
      3. 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常
      4. 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;

    13、@Qualifier:

        如果service层有多个实现,spring不知道应该绑定哪个实现类,所以抛出了如上错误。这个时候就要用到@Qualifier注解了,qualifier的意思是合格者,通过这个标示,表明了哪个实现类才是我们所需要的,我们修改调用代码,添加@Qualifier注解,需要注意的是@Qualifier的参数名称必须为我们之前定义@Service注解的名称之一!

    14、@Lazy(true):

        表示延迟初始化

    15、@Component:

    泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

    16、@PostConstruct:

    用于指定初始化方法(用在方法上)

    17、@PreDestory:

    用于指定销毁方法(用在方法上)

    18、@DependsOn:

    定义Bean初始化及销毁时的顺序

    19、@Primary:

    自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否则将抛出异常

    20、@ControllerAdvice:

    定义全局异常处理类

  • 相关阅读:
    383. Ransom Note
    598. Range Addition II
    453. Minimum Moves to Equal Array Elements
    492. Construct the Rectangle
    171. Excel Sheet Column Number
    697. Degree of an Array
    665. Nondecreasing Array
    视频网站使用H265编码能提高视频清晰度吗?
    现阶段的语音视频通话SDK需要解决哪些问题?
    企业远程高清会议平台视频会议系统在手机端使用的必备要求有哪些?
  • 原文地址:https://www.cnblogs.com/archimedes-euler/p/9975873.html
Copyright © 2011-2022 走看看