1.基本的配置
<!--说明需要生成一个java对象 然后放到IOC的容器中
id:身份唯一的标识
class:标识的是要生成java的类
name:给当前这个类的对象取名字
scope="prototype":表示的是多例 :多例的时候 java对象并没有 放到容器 是你请求的时候生成对象 返回给你的
"singleton":表示的是单例
init-method="init" :对象放到IOC之前 初始化数据用的
destroy-method:对象销毁之前 还原对象 用的
-->
<bean id="user111"
name="userbobo"
scope="singleton"
init-method="init"
destroy-method="destory"
class="com.qf.cd.helloword.User"></bean>
2.有参数对象的对象的构建
<!--带参数的对象怎么实例化?-->
<!--<bean id="user2" class="com.qf.cd.helloword.User">-->
<!--<constructor-arg index="0" value="1"></constructor-arg>-->
<!--<constructor-arg index="1" value="啦啦啦"></constructor-arg>-->
<!--<constructor-arg index="2" value="哈哈哈"></constructor-arg>-->
<!--</bean>-->
<!--<bean id="user3" class="com.qf.cd.helloword.User">-->
<!--<constructor-arg name="id" value="2"></constructor-arg>-->
<!--<constructor-arg name="userName" value="拉拉2"></constructor-arg>-->
<!--<constructor-arg name="password" value="哈哈2"></constructor-arg>-->
<!--</bean>-->
3.工厂创建对象的方式
<!--工厂创建对象的问题-->
<!--申明工厂-->
<!-- <bean id="userFactory" class="com.qf.cd.helloword.UserFactory"></bean>-->
<!--获取Java对象
factory-bean:这个是factory的工厂对象 注意:值是bean的id的值
factory-method:工厂中创建对象的 非静态的这个方法
-->
<!-- <bean id="user4" factory-bean="userFactory" factory-method="getInstance1"></bean>-->
<!--静态方法构建这样一个对象
factory-method:因为调用的是静态的方法 所以后面是静态方法的这个名字
-->
<bean id="user4" class="com.qf.cd.helloword.UserFactory" factory-method="getStaticInstance"></bean>
4.极可能出现的问题
通过类型找对象的时候、如果当前类的实例在IOC容器中存在多个的话 那么 是会报错 因为他不知道你找到是哪一个Java对象
<!--
lazy-init:这个是延迟对象的初始化 在你 getBean的时候 进行对象的初始化
-->
<!--<bean id="user1" class="com.qf.cd.helloword.User" lazy-init="true"> </bean>-->
<!--<bean id="user2" class="com.qf.cd.helloword.User"></bean>-->
<!--
depends-on="userDAO":这个属性可以告诉咋们的IOC容器先初始化谁比较合适
-->
<bean id="userService" class="com.qf.cd.helloword.UserService" depends-on="userDAO,user"></bean>
<bean id="user" class="com.qf.cd.helloword.User"></bean>
<bean id="userDAO" class="com.qf.cd.helloword.UserDAO"></bean>