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

    组件注册:@Component @Repository @Service @Controller

    作用域:类
    启用包扫描后,包及子包下的类如果使用了这些注解,则会被实例化到Spring容器中,作为组件,可以在其它组件中作为依赖注入。
    @Component是任何Spring管理的组件或bean的通用构造型。
    @Repository是持久层的构造型。
    @Service是服务层的构造型。
    @Controller是表示层(spring-MVC)的构造型。

    配置:@Configuration

    作用域:类
    对于配置类,可以在方法上使用@Bean注解,Spring会调用该方法,将返回值作为组件。

    配置导入:@Import

    配置类可以导入其它的配置类,不需要把所有的 @Configuration 放到一个类中。
    @Enable...注解就是通过@Import导入了默认的配置类。

    @Import(value = [Hibernate::class, Other::class]) // 或者
    @Import(Hibernate::class, Other::class)
    class WebConfig : WebMvcConfigurer { ... }
    

    @Bean及其条件化、作用域

    @Bean的装配可以是条件控制的,比如在测试环境下使用@Profile注解控制Bean是否应该激活,然后使用@ActiveProfiles注解设置激活profile。

    • @Conditional
      Spring 4引入了一个新的@Conditional注解,它可以用到带有@Bean注解的方法上。如果给定的条件计算结果为true,就会创建这个bean,否则的话,这个bean会被忽略。设置给@Conditional的类可以是任意实现了Condition接口的类型。可以看出来,这个接口实现起来很简单直接,只需提供matches()方法的实现即可。如果matches()方法返回true,那么就会创建带有@Conditional注解的bean。如果matches()方法返回false,将不会创建这些bean。
    • @Primary
      标示首选的bean。
    • @Scope
      Spring定义了多种作用域,可以基于这些作用域创建bean,包括:
    单例(Singleton):  在整个应用中,只创建bean的一个实例。默认。
    原型(Prototype):  每次注入或者通过Spring应用上下文获取的时候,都会创建一个新的bean实例。
    会话(Session):    在Web应用中,为每个会话创建一个bean实例。
    请求(Rquest):     在Web应用中,为每个请求创建一个bean实例。
    

    @Scope接收一个字符参数,但是最好使用常量,定义在类ConfigurableBeanFactory的SCOPE_xxx域中。

    @ResponseBody @RequestBody

    申请由消息转换器处理内容,即处理参数及返回值。

    ControllerAdvice

  • 相关阅读:
    VuGen错误处理函数
    LR的日志
    创建性能测试脚本时如何选择HTML模式和URL模式
    Java变量
    查找&排序
    selenium执行JS
    Python中 is 和 == 的区别
    Python中 and or的计算规则
    selenium使用location定位元素坐标偏差
    错误:Could not find an available JavaScript runtime
  • 原文地址:https://www.cnblogs.com/develon/p/12737786.html
Copyright © 2011-2022 走看看