Spring依赖注入
2015-08-13 10:14
513 查看
null值
<property name="brand"> <null/><property>
必须使用专业的<null/>元素标签
在bean的配置中 bean标签中一般声明为 abstract=“true”,表示这个<bean>不实例化为一个对应的Bean。
对于大型应用来说,为了防止开发时配置文件的资源竞争,或为了使模块便于拆卸,往往每个模块都拥有自己独立的配置文件,应用层面提供一个整合的配置文件,通过
<import>将各个模块整合起来,这样容器启动时,只需要关注这个整合文件就可以了
有属性注入,构造函数注入 工厂注入
常用的属性注入:
构造方法注入的优点:
1.构造函数可以保证一些重要的属性在Bean实例化时就设置好,避免了因为一些重要属性没有提供,导致一个无用Bean实例的情况。
2、不需要为每个属性提供Setter方法,减少了类的方法个数。
3、可以更好地封装类变量,不需要为每个属性指定Setter方法,避免外部错误的调用。
缺点:
1、如果一个类的属性众多,构造函数的签名将变成一个庞然大物,可读性差
2、灵活性不强,在有些属性可选的情况下,如果通过构造函数注入,也需要为可选参数提供一个null值
3、如果有多个构造函数,需要考虑配置文件和具体构造函数匹配歧义的问题,配置上相对复杂;
4,构造函数不利于继承和扩展,因为子类需要引用到父类复杂的构造函数
5、构造函数注入有时会造成循环 依赖问题。
<property name="brand"> <null/><property>
必须使用专业的<null/>元素标签
在bean的配置中 bean标签中一般声明为 abstract=“true”,表示这个<bean>不实例化为一个对应的Bean。
对于大型应用来说,为了防止开发时配置文件的资源竞争,或为了使模块便于拆卸,往往每个模块都拥有自己独立的配置文件,应用层面提供一个整合的配置文件,通过
<import>将各个模块整合起来,这样容器启动时,只需要关注这个整合文件就可以了
有属性注入,构造函数注入 工厂注入
常用的属性注入:
构造方法注入的优点:
1.构造函数可以保证一些重要的属性在Bean实例化时就设置好,避免了因为一些重要属性没有提供,导致一个无用Bean实例的情况。
2、不需要为每个属性提供Setter方法,减少了类的方法个数。
3、可以更好地封装类变量,不需要为每个属性指定Setter方法,避免外部错误的调用。
缺点:
1、如果一个类的属性众多,构造函数的签名将变成一个庞然大物,可读性差
2、灵活性不强,在有些属性可选的情况下,如果通过构造函数注入,也需要为可选参数提供一个null值
3、如果有多个构造函数,需要考虑配置文件和具体构造函数匹配歧义的问题,配置上相对复杂;
4,构造函数不利于继承和扩展,因为子类需要引用到父类复杂的构造函数
5、构造函数注入有时会造成循环 依赖问题。
相关文章推荐
- Struts2动态方法调用
- SpringMVC基于代码的配置方式(零配置,无web.xml)
- spring-mybatis.xml配置文件,spring与mybatis整合在一起
- JAVA里生成随机文件名
- java随机生成字符串并排序
- java 导出word乱码问题,99%解决问题
- JAVA 设计模式-单例模式
- 常用数据库 JDBC URL 格式 分类: Java 2011-01-19 14:55 21582人阅读 评论(1) 收藏 举报 jdbcurl数据库teradatasqlservermicroso
- [leetcode-131]Palindrome Partitioning(java)
- Java获取客户端IP
- SSM后台管理系统(Spring SpringMVC Mybatis Mysql EasyUI)
- Struts 2中 Constant详解
- java 后台开发关键词解释
- A题之NowCoder数列
- 照片教你eclipse通过使用gradle 打包Android
- WAS生成的文件:javacore.***.txt 、heapdump.***.phd、core.***.dmp、Snap.***.trc
- Java 静态变量、非静态代码块、构造函数的执行顺序
- java.util.concurrent介绍
- Spring注解详解
- WAS生成的文件:javacore.***.txt 、heapdump.***.phd、core.***.dmp、Snap.***.trc