Spring IOC 配置对象实例:上一篇我们简单介绍了 Spring 的原理以及 IOC,这次小编带大家了解 Spring 是如何实现管理创建、依赖对象的。我们通过一个实例进行了解。
首先看实例的目录结构:
其中实现管理对象的是 applicationContext.xml。它是 spring 的核心配置文件。
当不使用 spring 时,我们想要实现添加用户
Client——>UserManager——>UserDao,会有两层依赖关系。
如:
Client 中:
UserManager userManager=new UserManager();
userManager.addUser(username,password);
UserManager 中:
UserDao userDao=new UserDao4MySqlImpl();
userDao.addUser(username,password);
即 Client 依赖 UserManager,UserManager 依赖 UserDao
当然我们也可以使用工厂,来决定使用 MySql 还是 Oracle。但使用工厂是一个工厂对应一个产品,在这里即对应一个 Dao 层实现。
所以在此我们更倾向用 spring 的容器对 对象进行管理:
首先,将类进行基本配置,这也就相当于一个工厂:
那 userManager 中用的 Dao。怎么拿,这需要我们继续配置:
- 这就相当于userManager的构造函数
这样,当我们调 userManager 时,它会根据配置自动找到 userDao。并自动实例对象将其返回。
至此,我们就配置好了,现在就可以访问了
Client 中:
首先读取配置文件
- BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
然后获得对象:
- UserManager userManager = (UserManager)factory.getBean("userManager");
至此,直接就可使用 userDao 的方法
- userManager.addUser("张三", "123");
所以,简单的几句,我们就从客户端访问到了 Dao 层,并且整个功能实现过程中,我们并没有看到 Dao 层的实现,也没有实例 Dao 层,但能访问到 Dao 的方法,这就是 spring 的 IOC 的功劳,一方面,它为我们减少了工厂的使用,同时减少了代码中的耦合,使得我们的代码层次更清晰。
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: