2、IOC理论推导
UserDao 接口
UserDaoImpl 接口实现类
UserService 业务接口
UserService 业务实现类
在我们之前的业务中,用户的需求可能会影响我们原来的代码,我们需要根据用户的需求去修改原代码!如果程序代码量十分大,修改一次的成本代价十分昂贵!
我们使用一个Set接口实现:
private UserDao userDao;
//利用set进行动态实现值的注入
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
3、HelloSpring
4、IOC创建对象的方式
-
使用无参构造创建对象,默认!
-
使用有参构造创建对象。
-
下标赋值
<!--第一种,下标赋值--> <bean id="user" class="com.mzx.pojo.User"> <constructor-arg index="0" value="狂神说java"/> </bean>
-
类型赋值
<!--第二种,通过类型创建,不建议使用--> <bean id="user" class="com.mzx.pojo.User"> <constructor-arg type="java.lang.String" value="mzx"/> </bean>
-
直接通过参数名设置
<!--第三种:直接通过参数名设置--> <bean id="user" class="com.mzx.pojo.User"> <constructor-arg name="name" value="mzx"/> </bean>
-
总结:在配置文件加载的时候,容器中管理的对象就已经初始化了
5、Spring配置
5.1 别名
<!--如果使用了别名,我们也可以使用别名来获取对象-->
<alias name="user" alias="user2"/>
5.2 Bean的配置
<!--id : bean 的唯一标识符,也就是相当于我们学的对象名
cLass : bean 对象所对应的全限定名:包名+类型
name :也是别名-->
<bean id="userT" class="com.mzx.pojo.UserT" name="user2">
<property name="name" value="孟泽鑫"/>
</bean>
5.3 import的配置
这个import,一般用于团队开发使用,他可以将多个配置文件,导入合并为一个
在applicationContext.xml中
<import resource="beans.xml"/>
<import resource="bean2.xml"/>
<import resource="bean3.xml"/>