2.IOC 配置与应用(xml的方式)
Posted 白日梦想家12138
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.IOC 配置与应用(xml的方式)相关的知识,希望对你有一定的参考价值。
1.注入方式
a)setter(主要)
b)构造方法(可以忘记)
c)接口注入(可以忘记)
2.id vs name
bean 标签中可以使用 name 属性 来完成 id 属性的功能,不过习惯用id
另外,name 还可以使用特殊字符,但是谁没事会写一些特殊字符 作为 Map的key
3.简单属性的注入
<property name=… value=….>
4.<bean> 中的 scope 属性
<bean id="userService" class="com.bjsxt.service.UserService" scope="prototype">
当容器中的对象被拿出使用时,是否创建新的
proptotype 每次创建新的对象 singleton 单例
5.集合注入
<property name="lists">
<list>
<value>1</value>
<value>2</value>
<value>3</value>
</list>
</property>
6.自动装配
a) byName
<bean id="userService" class="com.bjsxt.service.UserService" autowire="byName">
使用了 autowire 属性后,不需要在下面 使用 property 手动指定 注入哪个bean
会自动去找 这个bean 的set方法,如:在这里找到了 UserService 的 setUserDao这个方法
拿到这个方法名,去掉 set ,再将首字母小写,得到字符串(userDao),再去看容器中,是否有
id为 userDao的 bean,自动有的话,将其注入进来
b) byType
按照set 方法所接收的参数的类型的来确定
c)如果所有的bean都用同一种,可以使用beans的属性:default-autowire
7.生命周期
lazy-init
init-method destory-method
1 <!-- 使用lazy-init 来指定是否在spring容器启动时,就加载这个bean对象,设置为 true 启动就加载,设置为false 用到的时候再加载,有点像hibernate里面的 fetchType --> 2 <!-- 使用 init-method destroy-method 来指定该bean对象加载和销毁时 调用的 该对象的方法,这也能够确定该对象的生命周期--> 3 <!-- 另外:init-method destroy-method 不要和 不要和prototype一起用,因为这样使用了,bean对象无法销毁 --> 4 <bean id="userService" class="com.bjsxt.service.UserService" lazy-init="true" init-method="init" destroy-method="destroy"> 5 <property name="userDAO" ref="u" /> 6 </bean>
以上是关于2.IOC 配置与应用(xml的方式)的主要内容,如果未能解决你的问题,请参考以下文章
在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途