Bean的配置信息是Bean的元数据信息。包括1.Bean的实现类、2.Bean的属性信息。3.Bean的依赖关系。4.Bean的行为配置(比如控制Bean的生命周期中init,destory方法)。

Bean的基本配置,id + 实现类全限定名。命名规范,不要稀奇古怪就好。

·依赖注入分别是构造函数注入和属性注入。属性注入通过属性的setter方法注入属性或者依赖对象。构造函数注入是将属性写入构造函数注入,需要注意的问题是构造函数的参数匹配(可以通过类型匹配和索引匹配、还可以是自身反射,不怎么使用)。工厂方法注入(不推荐使用)。

注入参数详解:

字面值(<value>),基本数据类型和String类型。注意特殊字符的转义。

引用Bean(<ref>),三个属性:1.Bean,父子容器的Bean皆可引用;2.local,当前位置文件的Bean;3.parent,符容器中的Bean。

内部Bean,Bean的内部配置的Bean,只供该外部Bean使用。

null值(<null/>),为属性设置null值必须使用该标签。

级联属性(.),以圆点(.)的方式定义级联属性。

集合类型属性:

list:

Set:

map:

如果map的键值为对象:

Properties:

强集合类型:map的泛型为基本数据类型或者String类:

集合合并:

Bean之间的关系:

继承 :父Bean一般声明为“abstract=true”,标识该Bean无需实例化。

依赖:

引用:

整合多个配置文件:

Bean作用域:

其中request,session,globalSession作用域使用的时候,需要在web.xml文件中额外的配置(下面二者选其一):

Bean的作用域中还有一个作用域的依赖问题,那就是非web作用域的Bean引用Web作用域的Bean时,需要使用aop技术为每次引用动态生成实例。此时在配置文件中加入aop支持

FactoryBean: 自定义实现Bean的实例化逻辑,Bean可以通过实现这个接口。

基于注解配置Bean:

四个配置的注解:@Component、@Repository、@Service、@Controller 这四个注解本身没有区别,可以互换,但是为了见名知意,一般在特定的场合使用特定的注解。

二者本身是等效的。

在配置文件中声明需要扫描注解的包信息

还可以配置只扫描包下特定的类,使用 resource-pattern属性配置。

除此之外,还可以使用子标签声明需要包含和排除的信息。

子标签中支持的表达式:

还有一个重要的属性是 use-default-filters = true/ false.用以区别上面的四个注解,当使用 annotation 表达式的时候,需要将该属性设置为 true,否则白搭。

[spring] spring 装配Bean的更多相关文章

  1. Spring 自动装配 Bean

    Spring3系列8- Spring 自动装配 Bean 1.      Auto-Wiring ‘no’ 2.      Auto-Wiring ‘byName’ 3.      Auto-Wiri ...

  2. Spring自动装配Bean详解

    1.      Auto-Wiring ‘no’ 2.      Auto-Wiring ‘byName’ 3.      Auto-Wiring ‘byType 4.      Auto-Wirin ...

  3. [spring]03_装配Bean

    3.1 JavaBean 3.1.1 JavaBean 是什么 JavaBean 是一种JAVA语言写成的可重用组件. 为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器. Jav ...

  4. spring IOC装配Bean(注解方式)

    1 Spring的注解装配Bean (1) Spring2.5 引入使用注解去定义Bean @Component 描述Spring框架中Bean (2) Spring的框架中提供了与@Componen ...

  5. Spring自动化装配bean

    1. 场景 用CD(Compact disc)和CD播放器(CDPlayer)阐述DI(依赖注入). 如果不将CD插入(注入)到CDPlayer中,那么CDPlayer其实没有太大的用处,所以,可以这 ...

  6. Spring高级装配bean

    目录 spring profile 条件化的bean声明 自动装配与歧义性 bean的作用域 Spring表达式语言 一.环境与profile 配置profile  bean 在软件开发的时候,有一个 ...

  7. Spring容器装配Bean的三种方式

    欢迎查看Java开发之上帝之眼系列教程,如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系.本系列教程希望您能站在上帝 ...

  8. Spring自动装配Bean的五种方式

    在Spring中,支持 5 自动装配模式. no – 缺省情况下,自动配置是通过“ref”属性手动设定,在项目中最常用byName – 根据属性名称自动装配.如果一个bean的名称和其他bean属性的 ...

  9. Spring自动装配bean

    Spring推荐面向接口编程,这样可以很好的解耦具体的实现类. CompactDisc.class 文件: public interface CompactDisc { void play(); } ...

  10. 二、spring中装配bean

    在spring框架中提供了三种 bean的装配方式,当然这三种装配方式是可以灵活的进行组合使用的,项目中使用最多的是自动装配bean的方式,也就是通过注解的方式进行bean的装配,一下是四种装配方式的 ...

随机推荐

  1. 安装了Anaconda之后,Maya运行报错,Python 找不到 Maya 的 Python 模块

    以前Maya用的好好地,结果安装了Anaconda之后,maya启动以后,日志就会报错(如下),只能自主建模,不能打开以前创建的模型,也不能导入fbx,错误提示就是Maya找不到Python模块,在网 ...

  2. spring4-2-bean配置-4-bean之间的关系

  3. Linux ftp Command

    一.ftp的get命令和mget命令有何不同? get一次只下载一个文件:mget一次可以下载多个文件,而且支持通配符,需要注意的是在mget的时侯,需要对每一个文件都选择y/n,如果想不交互的下载全 ...

  4. [C++] Type Conversion(类型转换)

    Type Conversion(类型转换) Two kinds of type conversion explict type conversion(显式类型转换) impict type conve ...

  5. hra控件自动绑定

    1.前台js代码 $.ajax({ type: "post", url: 'AlmMarketScenarioDetailManage.aspx?_method=queryPane ...

  6. CDATA嵌套问题

    在CDATA内部的所有内容都会被解析器忽略.一个 CDATA 部件以"<![CDATA[" 标记开始,以"]]>"标记结束.但是CDATA是不能够嵌 ...

  7. Auth模块

    文本目录 1 扩展默认的auth_user表 2 auth模块是什么 3 auth模块的常用方法 1 扩展默认的auth_user 表 在开始写项目之前,我们要创建表,同事内置的认证系统又很好用,但是 ...

  8. mysql 添加字段,修改字段的用法

    1.添加字段 ALTER TABLE 表明 add 字段名称 类型(int,char,VARCHAR...) DEFAULT 默认值  位置(FIRST, AFTER+字段名称); 2.删除 ALTE ...

  9. C#编程之程序集和反射

    这里我又唠叨几句,大家在学习的时候,如看书或者看视频时觉得非常爽,因为感觉基本都看得懂也都挺容易的,其实看懂是一回事,你自己会动手做出来是一回事,自己能够说出来又是另一回事了.应该把学到的东西变成自己 ...

  10. jcabanillas/yii2-inspinia-asset composert 安装失败

    minimum-stability (root-only) 这定义了通过稳定性过滤包的默认行为.默认为 stable(稳定).因此如果你依赖于一个 dev(开发)包,你应该明确的进行定义. 对每个包的 ...