1.创建好三层架构
构造方法注入:
只要写了bean标签,就要求类中必须要有无参构造方法
constructor 构造方法-arg arg:argument参数构造方法参数
① 按构造方法的参数名称注入【推荐】
② 按构造方法的参数顺序注入【推荐】
<?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标签,就要求类中必须要有无参构造方法
constructor 构造方法-arg argument参数 构造方法参数
① 按构造方法的参数名称注入【推荐】
② 按构造方法的参数顺序注入【推荐】
③ 按构造方法的参数类型注入【一般不用这个,因为有可能出现构造方法参数的类型是相同的情况,那么还要再按照顺序来注入】
-->
<!--为cn.itsource._02_DI_constructor.dao.impl.UserDaoImpl类注入对象并初始化字段-->
<bean id="userDao" class="cn.itsource._02_DI_constructor.dao.impl.UserDaoImpl">
<constructor-arg name="name" value="用户数据DAO层" />
<constructor-arg name="age" value="22" />
</bean>
<!--service引用dao-->
<bean id="userService" class="cn.itsource._02_DI_constructor.service.impl.UserServiceImpl">
<constructor-arg name="userDao" ref="userDao" />
</bean>
<!--controller引用service,controller只有一个字段,为这个字段以引用的方式初始化
还是以构造函数进行的
-->
<bean id="userController" class="cn.itsource._02_DI_constructor.controller.UserController">
<constructor-arg index="0" ref="userService" />
</bean>
</beans>