Spring的学习之路(一)IOC的基础入门

1.Spring框架简介

Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。

◆目的:解决企业应用开发的复杂性

◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能

◆范围:任何Java应用

Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。

(来自百度百科)

2.ioc是什么?

Inversion of Control(控制反转)。

怎么理解控制反转?将创建对象得到权力交付给Spring

3.创建一个简单的ioc例子

3.1创建一个简单的J2EE项目

EJB module version选择2.5

3.2引入Spring的jar包

四个核心包俩个日志包

3.3创建包

3.3.1在包里创建接口userDAO

package com.heshihua.spring.demo1;
/**
 * 业务层接口
 * @author 何世华
 *
 */
public interface UserDAO {
	public void save();
}

3.3.2在包里创建俩个类继承接口

package com.heshihua.spring.demo1;

public class UserDAOHibernateImpl implements UserDAO{

	public void save() {
		System.out.println("UserDAOHibernateImpl执行了");
	}

}
package com.heshihua.spring.demo1;

/**
 * 用户管理业务层实现类
 * @author Admin
 *
 */
public class UserDAOImpl implements UserDAO {

	public void save() {
		System.out.println("UserDAO执行了");
	}

}

3.4在src下创建bean容器

创建一个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">
	<!-- Spring的入门配置 -->
	<bean id = "UserDAO" class = "com.heshihua.spring.demo1.UserDAOHibernateImpl"></bean>
</beans>

 

3.5在前面创建的包里创建测试类

 

package com.heshihua.spring.demo1;

import org.junit.Test;
import org.springframework.context.*;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Spring的入门
 * 
 * @author Admin
 *
 */
public class SpringDemo1 {

	@Test
	/**
	 * 普通方式的调用
	 */
	public void demo1() {
		UserDAO userDAO = new UserDAOImpl();
		userDAO.save();
	}
	@Test
	/*
	 * Spring 的方式调用
	 * **/
	public void demo2(){
		// 创建Spring的工厂
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
		UserDAO userDAO = (UserDAO) applicationContext.getBean("UserDAO");
		userDAO.save();
	}
}












Spring即使可以通过读取创建的bean容器中的内容来创建一个对象。

3.6在3.5代码中demo1和demo2运行的结果是一样的为什么要绕这么一大圈来用demo2呢?

看下图

上图中 左边为传统方式来实现创建对象但是像图中表示如果说我们不想用UserDaoImpl对象了换成UserDaoHibernateImpl但是这时候就需要更改源代码了 图右上也是需要更改工厂中的代码。但是如果我们采用Spring的ioc来实现创建对象这时候就只需要更改配置文件了。IOC的好处用的多就会体会出来了。

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值