zoukankan      html  css  js  c++  java
  • spring in action小结2

    1 @Component注解声明的类都会创建为bean,并且bean的id为首字母小写的类名。

    2 解决bean自动装配奇异性问题,可以使用@Qualifier("name")限定符注解解决,他所设置的参数是要注入的bean的id。

    3 创建bean的限定符,@Qualifier可以和@Component一块使用。

    @Component
    @Qualifier("cold")

    4 声明自定义限定符,新建interface,然后在interface之前添加@。用于处理多个限定符解决奇异问题。

    @Target({ElementType.CONSTRUCTOR, ElementType.FIELD,
             ElementType.METHOD, ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Qualifier
    public @interface Cold {
    }

    5 作用域,使用@Scope注解,可以和@Component 或 @Bean 联合使用。

    • Singleton,整个应用中,只创建bean的一个实例。
    • Prototype,每次注入或者通过spring应用上下文获取的时候,都会创建一个新的bean实例。
    • Session,在web应用中,为每一个回话创建一个bean
    • Request,为每一个请求创建一个bean

    使用方式如下:

    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)

    如果是会话作用域的

    @Scope(value = WebApplicationContext.SCOPE_SESSION,
            proxyMode = ScopedProxyMode.INTERFACES)

    说明:如果类实现的是接口,代理模式是ScopedProxyMode.INTERFACES,如果是实体类,代理模式是ScopedProxyMode.TARGET_CLASS。会话作用域需要使用到代理。

  • 相关阅读:
    字符数组(判断字符串大小)
    http请求文件流
    webservice接口调用
    面试基础-线程(一)
    面试基础-redis(二)
    面试基础-redis(一)
    面试基础--JVM
    【转】支付系统
    springcloud搭建高可用注册中心的时候注册中心在unavailable-replicas中的问题
    springboot+javafx所有依赖一起打包
  • 原文地址:https://www.cnblogs.com/zhaopengcheng/p/7044983.html
Copyright © 2011-2022 走看看