[Spring 01] Spring IOC入门

Spring的基本概述

这篇Blog将简单介绍Spring及其特性,并简单介绍Spring的IOC开发入门。

什么是Spring?

  • spring是一个开源的轻量级J2SE/EE开发的一站式框架。所谓一站式是指Spring在J2EE开发的每一层都有相应的解决方案,例如针对Web层,提供SpringMVC;针对Service层,提供Spring的Bean管理、Spring声明式事务;针对DAO层,提供Spring的JDBC模板ORM模块等等。

为什么学习Spring?

  • Spring框架通过提供IOC避免程序过度耦合,简化开发;
  • Spring提供AOP功能,方便进行面向方面的编程;
  • Spring提供声明式事务的支持,通过声明式方式灵活地进行事务管理,提高开发效率和质量;
  • 方便程序的测试;
  • Spring框架方便继承各种优秀的框架;
  • Spring降低了Java EE API的使用难度,对许多难用的J2EE API进行简单封装,降低使用难度。

Spring开发包

  • 官网:http://spring.io/
  • 开发包说明:
    • dist 为Spring框架
    • docs 为说明文档
    • schema 为Spring框架约束
    • dependencies 为框架依赖库
      Spring开发包
  • 解压Spring框架
    • docs :Spring的开发规范和API
    • libs :Spring的开发的jar和源码
    • schema :Spring的配置文件的约束
      在这里插入图片描述

Spring IOC开发入门

IOC(Inversion of Control)控制反转。将对象的创建权反转给Spring。

创建Spring项目

  • 引入Spring的jar包
    在这里插入图片描述
    Spring的核心容器为Beans、Core、Context以及SpEL,对应的从解压后的Spring框架中将对应的jar包复制到项目lib目录下,并为其创建路径:
    在这里插入图片描述
  • Spring IOC的底层实现
    相较于传统的程序设计,Spring的底层由工厂类、反射机制以及位置文件来实现,具体如下图所示:
    在这里插入图片描述
  • 将接口和实现类交给Spring管理
    • 在项目src目录下新建xml文件:applicationContext.xml
    • 在Spring的解压路径下 E:\Framwork\Spring\spring-framework-4.2.4.RELEASE\docs\spring-framework-reference\htmlxsd-configuration.html 这个说明文档网页的最下方 “Beans Schema” 部分复制配置文件信息,并添加配置将Dao的实现类加入配置:
      在这里插入图片描述
  • 编写Spring方式测试类在这里插入图片描述

IOC和DI

  • IOC:控制反转,将对象的创建权交给Spring管理
    • DI:依赖注入,前提必须是在IOC环境下,Spring管理这个类的创建时将类的依赖属性注入进来
  • 面向对象的关系
    • 依赖
      class A{ ... } class B{ public void xxx(A a){ ... } }
    • 继承(is a)
      class A{ ... } class B extends A{ ... }
    • 聚合(has a)

Spring的工厂类

  • Spring工厂类结构图
    在这里插入图片描述

从图中可以看出ApplocationContext继承了BeanFactory

  • ApplicationContext(新版本工厂类)
    • 在加载配置文件时就会将Spring所管理的类都实例化;
    • ClassPathXmlApplicationContext : 加载类路径下(src)的配置文件
    • FileSystemXmlApplicationContext :加载文件系统下的配置文件
  • BeanFactory(老版本工厂类)
    • 在调用getBean()方法时才会对类实例化
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值