[spring] spring 装配Bean
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的更多相关文章
- Spring 自动装配 Bean
Spring3系列8- Spring 自动装配 Bean 1. Auto-Wiring ‘no’ 2. Auto-Wiring ‘byName’ 3. Auto-Wiri ...
- Spring自动装配Bean详解
1. Auto-Wiring ‘no’ 2. Auto-Wiring ‘byName’ 3. Auto-Wiring ‘byType 4. Auto-Wirin ...
- [spring]03_装配Bean
3.1 JavaBean 3.1.1 JavaBean 是什么 JavaBean 是一种JAVA语言写成的可重用组件. 为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器. Jav ...
- spring IOC装配Bean(注解方式)
1 Spring的注解装配Bean (1) Spring2.5 引入使用注解去定义Bean @Component 描述Spring框架中Bean (2) Spring的框架中提供了与@Componen ...
- Spring自动化装配bean
1. 场景 用CD(Compact disc)和CD播放器(CDPlayer)阐述DI(依赖注入). 如果不将CD插入(注入)到CDPlayer中,那么CDPlayer其实没有太大的用处,所以,可以这 ...
- Spring高级装配bean
目录 spring profile 条件化的bean声明 自动装配与歧义性 bean的作用域 Spring表达式语言 一.环境与profile 配置profile bean 在软件开发的时候,有一个 ...
- Spring容器装配Bean的三种方式
欢迎查看Java开发之上帝之眼系列教程,如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系.本系列教程希望您能站在上帝 ...
- Spring自动装配Bean的五种方式
在Spring中,支持 5 自动装配模式. no – 缺省情况下,自动配置是通过“ref”属性手动设定,在项目中最常用byName – 根据属性名称自动装配.如果一个bean的名称和其他bean属性的 ...
- Spring自动装配bean
Spring推荐面向接口编程,这样可以很好的解耦具体的实现类. CompactDisc.class 文件: public interface CompactDisc { void play(); } ...
- 二、spring中装配bean
在spring框架中提供了三种 bean的装配方式,当然这三种装配方式是可以灵活的进行组合使用的,项目中使用最多的是自动装配bean的方式,也就是通过注解的方式进行bean的装配,一下是四种装配方式的 ...
随机推荐
- Java核心技术-异常、断言和日志
程序发生错误时至少做到以下几点: *向用户通告错误 *保存所有的工作结果 *允许用户以妥善的形式退出程序 Java使用一种称为异常处理的错误捕获机制处理异常. 本章第一部分介绍Java的异常,第二部分 ...
- 从顶端插入,滚动展示(Demo):
新闻滚动,从顶端插入: <!DOCTYPE html> <html> <head> <script src="/jquery/jquery-1.11 ...
- 用 GDB 调试程序
Linux 包含了一个叫 gdb 的 GNU 调试程序. gdb 是一个用来调试 C 和 C++ 程序的强力调试器. 它使你能在程序运行时观察程序的内部结构和内存的使用情况. 以下是 gdb 所提供的 ...
- CS的项目管理是基于多租户理念设计
1.创建项目 http://xxx.xxx.xx.xx:8080/client/api?command=createProject&response=json&sessionkey=8 ...
- 相机IMU融合四部曲(二):误差状态四元数详细解读
相机IMU融合四部曲(二):误差状态四元数详细解读 极品巧克力 前言 上一篇文章,<D-LG-EKF详细解读>中,讲了理论上的SE3上相机和IMU融合的思想.但是,还没有涉及到实际的操作, ...
- Android TV上的焦点切换效果
转载:http://blog.csdn.net/wzlas111/article/details/39741091 Android TV上的焦点凸显特效相信大家都看到过,那么我们就来实现它吧,首先上张 ...
- HAproxy-1.6.3 安装部署
反向代理优缺点: haproxy反向代理高性能的HTTP,TCP反向代理 nginx:优点:1.web服务器,比较广泛2.工作7层location设置比较复杂基于HTTP(url,cookies,ag ...
- Qt的翻译文件QTranslator不能使用问题总结(原)
笔者今天在自己工程中使用翻译文件,发现没有起作用,反复查找,发现是用宏定义了命名空间,生成.ts文件时,不会加上命名空间,所以生成的.qm文件在实际使用时,会无法找到对应的语句. 如果将宏定义的命名空 ...
- Java SimpleDateFormat用法
? Java中怎么才能把日期转换成想要的格式呢,或把字符串转换成一定格式的日期,如把数据库中的日期或时间转换成自己想要的格式,JAVA中提供了SimpleDateFormat类可以实现,以下是Si ...
- java软件托盘显示中文出现框框乱码
目录 文章背景 目录 问题的代码 解决办法 说明 参考文章 版本记录 文章背景 测试代码时候突然发现代码运行时候的托盘菜单的名字显示异常,查询了下资料发现是运行参数的缘故. 目录 问题的代码 系统是w ...