Spring(二)----IOC概述
一、什么是IOC的功能
IOC Inverse of Control,控制反转,将对象的创建权反转给Spring
使用IOC可以解决程序耦合性高的问题
管理资源:是指管理资源之间的依赖关系。框架帮我们注入。
二、IOC快速入门
步骤一:下载Spring框架的开发包
官网:http://spring.io/
下载地址:http://repo.springsource.org/libs-release-local/org/springframework/spring解压:(Spring目录结构)
- docs -- API和开发规范
- libs -- jar包和源码
- schema -- 约束
步骤二:创建JavaWEB项目,引入Spring的开发包
core container是核心容器,任何功能都需要依赖这个容器,也就是这四个jar包。这四个包就组成了IOC。
导入四个核心包。日志包(Spring自己没有日志包,使用Apache的日志包),找spring-framework-3.0.2.RELEASE-dependencies。
log4j: 为java准备的日志
那么,还需要一个log4j的配置文件。
info是日志的级别,stdout是标准输出
一个日志的例子:
public class Demo1 {
// 创建日志对象
private Logger log = Logger.getLogger(Demo1.class);
@Test
public void run1() {
System.out.println("执行了...");
log.info("执行了...");
}
}
为什么要用日志,而不用System.out.println()呢?
因为,我们可以在log4j.properties中控制打印的开关。
log4j.rootLogger=off, stdout,就表示,日志不要打印出来。
还有日志的级别,不同的级别控制了,不同情况下是否会输出这日志。
步骤三
创建对应的包结构,编写Java的类,要注意:以后使用Spring框架做开发,都需要来编写接口与实现类。
* UserService -- 接口
* UserServiceImpl -- 具体的实现类
步骤四
想把UserServiceImpl实现类的创建交给Spring框架来管理,需要创建Spring框架的配置文件,完成配置。
在src目录下创建applicationContext.xml的配置文件,名称是可以任意的,但是一般都会使用默认名称。
引入spring的约束,需要先找到具体的约束头信息。
spring-framework-3.2.0.RELEASE\docs\spring-framework-reference\html\xsd-config.html
具体的约束如下:
<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">
</beans>
完成UserService的配置
<!-- Spring的快速入门 -->
<bean id="userService" class="com.ken.demo1.UserServiceImpl"/>
步骤五
编写测试程序,采用Spring框架的工厂方式来获取到UserService接口的具体实现类!!
public void demo2(){
// 使用Spring的工厂:
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
// 通过工厂获得类:
UserService userService = (UserService) applicationContext.getBean("userService");
userService.sayHello();
}
源码下载 推荐阅读