Spring入门-----5IOC创建对象的方式
Posted 我永远信仰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring入门-----5IOC创建对象的方式相关的知识,希望对你有一定的参考价值。
Spring的xml配置,applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--bean标签
id = 变量名
class = new 的对象
property 相当于给对象中的属性设置一个值
-->
<!--无参构造创建-->
<!--<bean id="user" class="com.yong.bean.User">
<property name="name" value="帅比"/>
</bean>-->
<!--有参实现的三种-->
<!--1.下标赋值-->
<!--<bean id="user" class="com.yong.bean.User">
<constructor-arg index="0" value="下标赋值"/>
</bean>-->
<!--2.类型赋值 ,不建议使用,类型一样会出现问题-->
<!--<bean id="user" class="com.yong.bean.User">
<constructor-arg type="java.lang.String" value="类型赋值"/>
</bean>-->
<bean id="user" class="com.yong.bean.User">
<constructor-arg name="name" value="参数名"/>
</bean>
<bean id="student" class="com.yong.bean.Student">
</bean>
<bean id="mysqlImpl" class="com.yong.dao.UserDaoMysqlImpl"/>
<bean id="oracleImpl" class="com.yong.dao.UserDaoOracle"/>
<bean id="defaultImpl" class="com.yong.dao.UserDaoImpl"/>
<!--
ref :引用Spring 容器中创建好的对象
value:具体的值,基本数据类型
-->
<bean id="userServiceImpl" class="com.yong.service.UserServiceImpl">
<property name="userDao" ref="mysqlImpl"/>
</bean>
</beans>
1.使用无参构造创建,默认的。如果不进行修改,且无参构造被干掉(即只有有参构造),会报错。
-
默认无参构造
<!--无参构造创建--> <bean id="user" class="com.yong.bean.User"> <property name="name" value="帅比"/> </bean>
2.假设使用有参构造创建对象,三种方式
有参:
- 下标赋值
<!--下标赋值-->
<bean id="user" class="com.yong.bean.User">
<constructor-arg index="0" value="下标"/>
</bean>
- 类型赋值 (不建议使用)
<!--类型赋值 ,类型一样会出现问题-->
<bean id="user" class="com.yong.bean.User">
<constructor-arg type="java.lang.String" value="类型赋值"/>
</bean>
-
参数名赋值 (推荐使用)
<bean id="user" class="com.yong.bean.User"> <constructor-arg name="name" value="参数名"/> </bean>
总结:在配置文件加载的时候,容器中管理的对象就已经被初始化了!
以上是关于Spring入门-----5IOC创建对象的方式的主要内容,如果未能解决你的问题,请参考以下文章