• 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

  • 相关阅读:
    Java内存模型原理,你真的理解吗?
    CentOS 7.4 下搭建 Elasticsearch 6.3 搜索群集
    CentOS 7下ElasticSearch集群搭建案例
    分布式系统理论基础
    分布式系统理论进阶
    Paxos,Raft,Zab一致性协议-Raft篇
    P2P 网络核心技术:Gossip 协议
    分布式系统Paxos算法
    Hacker News的热门排名算法(转)
    Elasticsearch分布式机制和document分析
  • 原文地址:https://www.cnblogs.com/develon/p/12737786.html
Copyright © 2020-2023  润新知