1.何为IOC?
控制反转,是吧?何为控制?何为反转?何为正转?
Java是面向对象的语言,所以被控制的东西就是对象,即谁控制对象的创建。在以前我们的编程中,对象都是我们自己在Java程序中手动new出来的,现在有了Spring,我们把创建对象的控制权交到了Spring的手中,所以要实现创建对象,只需导入Spring相关jar包,然后配置xml文件,就OK。这样有什么好处呢?当然是一大进步,我们将更多的精力去关注业务的实现。
至于反转?就是非正转。正转是程序去创建对象,是吧?反转,就是程序被动地接受对象。干什么事,是不是被动一点轻松?被动,其实就可以理解为有人帮助你,做你想做而又不愿意做的事,这样当然舒服。既然已经反转了,我们就不用自己去new对象,也就不用去导入其它层的包,这样是不是降低了耦合性,是不是更舒服?
更多的心得,希望你们继续学习下去,自己体会。
2.新建项目前准备
准备什么?spring的相关jar包(目录中有些是源码,注意),自己去spring官网下载,准备后面导入。
3.新建项目,开始体验。
4.本次测试,是通过配置beans.xml,实现测试类对dao层的不同调用。\
dao层:
service层:
5.新建测试类(此处用自动生成的main.class)
package com.lili;
import com.lili.dao.UserDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Main {
public static void main(String[] args) {
ApplicationContext context=new ClassPathXmlApplicationContext("com/lili/bean/beans.xml");
UserDao user=(UserDao)context.getBean("user");
user.getUser();
}
}
6.配置beans.xml(Spring创建user对象)
7.运行测试类
我们要想输出student,是不是只需修改beans.xml文件
8.IOC非常重要,请多思考。