spring in action小结2

Posted pclover11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。会话作用域需要使用到代理。

 

以上是关于spring in action小结2的主要内容,如果未能解决你的问题,请参考以下文章

spring in action 5.1 小结

spring in action小结3 运行时值注入

Spring4 In Action-5.2.3-Spring Web应用程序-向页面输出列表接收参数接收表单

spring in action 学习笔记十三:SpEL语言(Spring Expression Language)

Spring In Action-2.1-01-@Component注解

spring in action 4 线路图