在标签配置过程中 ,为了简便配置文件的写法,Spring给我们提供了以下的方式
命名空间
property p:
constructor-arg c:
有了这种命名空间规范后
可以将原来嵌套在bean标签中的两个属性 放在bean标签中
**想要使用这样命名空间的简单写法**<br /> ** 1.需要在当前核心配置文件的头部导入一个规则(在beans中增加一个属性)**<br />** <beans **<br /> xmlns:c="[http://www.springframework.org/schema/c"](http://www.springframework.org/schema/c")<br /> xmlns:p="[http://www.springframework.org/schema/p">](http://www.springframework.org/schema/p">)<br /> <br /> </beans><br /> ** 2.可以在bean标签中通过 c:name="" c:computer-ref=""**
补充 :
配置文件中若两种方式都进行配置是可以的,两种方式同时给一个属性进行赋值操作
我们会采用set方法的值作为最终的值
构造方法会率先执行,set方法在之后执行,set方法将会把构造方法覆盖
扩展:
补充两个小细节
1.两个不同的bean
他们两个引用了同样的对象
配置的过程中写起来就比较复杂 命名空间 autowire
将被引用的同样的对象装在一个模板里
两个不同的bean引用这个模板(继承的感觉)
以上这个bean不能创建对象 只当做模板来用
2.Spring管理bean对象的机制
对象默认是单例形式 singleton
对象是立即加载方式
对象的注入方式 默认是手动 property constructor-arg
default-lazy-init=”true”
default-autowire=”byName”
3.在Spring的核心文件中引入外部文件
引入外部文件通常是.properties
通过一个命名空间的标签
可以在某一个bean中给value属性赋值 ${key}
