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的更多相关文章

  1. spring in action小结4.1

    1 横切关注点:可以被描述为影响应用多处的功能.横切关注点可以被模块化为特殊的类,这些类被称为切面. 2 AOP自己的术语,通知(Advice).切点(pointcut).连接点(joinpoint) ...

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

    讨论依赖注入的时候,通常讨论的是一个bean引用注入到另一个bean的属性或者构造器参数中.bean装配的另一个方面是将值注入到bean的属性或者构造器参数中.避免硬编码的方式就是运行时确定值. sp ...

  3. 1、Spring In Action 4th笔记(1)

    Spring In Action 4th笔记(1) 2016-12-28 1.Spring是一个框架,致力于减轻JEE的开发,它有4个特点: 1.1 基于POJO(Plain Ordinary Jav ...

  4. spring in action 4th --- quick start

    读spring in action. 环境搭建 quick-start依赖注入 面向切面 1.环境搭建 jdk1.8 gradle 2.12 Intelij idea 2016.2.1 1.1创建一个 ...

  5. ssh整合随笔(注解方式,Spring 管理action)

    Web.xml<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...

  6. Spring in action记录

    最近一段时间重新学习了一遍SPRING,现在对这些笔记整理一下,一来算是对之前的学习有一个交代,二来当是重新学习一次,三来可以留下备份 这次学习中以SPRING IN ACTION 4这学习资料,整书 ...

  7. Spring in Action 4th 学习笔记 之 AOP

    前提:本文中的AOP仅限于Spring AOP. 先说说为什么需要AOP 最简单的一个例子就是日志记录,如果想记录一些方法的执行情况,最笨的办法就是修改每一个需要记录的方法.但这,真的很笨... 好的 ...

  8. 学习spring in action 第一天

    这段时间,开始学习java吧,因为C sharp 学习了java的大量语法格式,所以,留意下,就不会错了,java 有的c sharp也有,而且之前我也学习过java的桌面开发,但是一下子上来就要自己 ...

  9. spring in action学习笔记十五:配置DispatcherServlet和ContextLoaderListener的几种方式。

    在spring in action中论述了:DispatcherServlet和ContextLoaderListener的关系,简言之就是DispatcherServlet是用于加载web层的组件的 ...

随机推荐

  1. Android学习笔记(三)之带有侧边索引的快速查找(跟带字母索引查找的通讯录差不多)

    喜欢另辟蹊径的我,在这里废话不多说了,直接上代码和图片了. 效果图如下: 第一步:MainActivity的代码如下: package net.loonggg.test; import java.ut ...

  2. 小程序setData工作原理理解图

    优化建议:1.频繁的去setData--我曾经用这个弄过动画效果,当然后来发现JS动画不适合小程序,CSS3动画才是王道2.每次setData都传递大量新数据--这个大量还真不好理解,暂时定为排行榜类 ...

  3. pytest文档4-测试用例setup和teardown

    前言 学过unittest的都知道里面用前置和后置setup和teardown非常好用,在每次用例开始前和结束后都去执行一次. 当然还有更高级一点的setupClass和teardownClass,需 ...

  4. 定制NSLog便于打印调试

    定制NSLog便于打印调试 本人之前从事过嵌入式开发,对于打印调试比较在行,现分享定制的NSLog以及教大家如何使用. 源码下载地址  https://github.com/YouXianMing/Y ...

  5. android基础知识普及

    1.密度问题及相互转换 测试机 philips w732 480X800 density 1.5 scaledDensity 1.6500001 通过 context.getResources().g ...

  6. 数学图形(2.17)pappus螺线

    帕波斯(Pappus of Alexandria) 生于亚历山大,活跃于公元300—350前后.该螺线是一种绕在圆锥上的曲线. #http://www.mathcurve.com/courbes3d/ ...

  7. [Todo] Java并发编程学习

    有两个系列的博文,交替着可以看看: 1. Java并发编程与技术内幕 http://blog.csdn.net/Evankaka/article/details/51866242 2. [Java并发 ...

  8. HTML-<a>标签添加下划线

    <a href="ddrb/090630.asp" target="_blank" style="text-decoration:underli ...

  9. 【转】js-ES6学习笔记-Symbol

    原文:https://www.cnblogs.com/zczhangcui/p/6435652.html https://blog.mgechev.com/2017/09/16/developing- ...

  10. WordPress 如何修改编辑器TinyMCE里的内容

    //获取编辑器对象,wp中的编辑器ID是"content" var editor = tinymce.get('content'); //获取编辑器内容 var content = ...