Spring初步了解-IOC

Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。

   Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
  
然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
   目的:解决企业应用开发的复杂性
   功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
   范围:任何Java应用

   它是一个容器框架,用来装javabean(java对象),中间层框架(万能胶)可以起一个连接作用,比如说把Struts和hibernate粘合在一起运用。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

1.控制反转(IOC)也成为依赖注入,是面向对象编程中的一种设计理念,用来降低代码的耦合度。

用白话来讲,就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:(依赖)控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。

首先使用举个列子:

1.先配置jar包:下载spring所需的jar包然后配置到项目中。

2.创建spring实现控制反转的xml配置文件,以及所需的log4j日志配置文件。

3.创建一个实体类,并且生成它属性的set方法,这里用的是set注入(设值注入)。

Spring初步了解-IOC

4.在xml配置文件中使用bean标签去注入。

Spring初步了解-IOC

注:id是你编写注入的bean的标识,class是你选择注入的类的位置,property是对应类的属性,name是对应属性名,value是对应属性值。

5.然后是在测试类里我们测试一下。

ClassPathXmlApplicationContext是ApplicationContext接口的实现类。用于从classpath路径中读取spring配置文件。

Spring初步了解-IOC

可以发现spring会自动接管配置文件中bean的创建和属性赋值。spring在创建bean的实例后,会调用相应的set方法为实例设置属性值。实例的属性值将不再由程序中的代码来主动创建和管理。改变为spring注入,使得组件之间以配置文件而不是硬编码的方式组织在一起。

总结:

IOC的好处降低了代码之间的耦合度。