spring入门-day01
1.1 Spring简介
Spring是2003年兴起的一个Java轻量级框架。它是了为解决企业级开发的复杂性而创建的一个框架。其是一个分层的Java SE/EE Full-Stack(一站式)框架。
Spring是一个容器,负责管理整个应用中所有的Bean的生命周期,及Bean之间的依赖关系。
1.2 Spring与解耦合
Spring的作用就是为了解耦合,即降低代码间接耦合度。
Spring将应用程序中的代码根据功能划分为了两类:主业务逻辑与系统级服务。
l 主业务逻辑代码的特点:具有很强的专业领域性,复用性相对较低,代码间的耦合度相对较高。
l 系统级服务,也称为交叉业务逻辑,例如,事务管理、日志管理、安全管理等。其特点:专业领域性不强,复用性高,代码间的耦合度相对较低。系统级服务,是为主业务逻辑服务的,其需要交叉(织入)到主业务逻辑代码中。这样的话,主业务逻辑与交叉业务逻辑间的耦合度就比较高了。
Spring针对于以上两种高耦合度代码,使用了IoC与AOP两种技术来降低它们的耦合度。所以,对于Spring的学习重点就是:IoC与AOP。
1.3 Spring特点
(1)非侵入式编程
POJO,Plain Old Java Object
(2)容器
(3)IoC—控制反转,A,B
(4)AOP,面向切面
1.4 Spring的下载与目录结构
1.4.1 下载
http://spring.io
1.4.2 结构
1.5 第一个Spring程序
1.5.1 当前编程方式存在的问题
(1) 定义接口
(2) 定义接口实现类
(3) 定义测试类
1.5.2 使用Spring降低耦合度
(1) 导入Jar包
(2) 创建Spring容器-配置文件
对于程序员来说,Spring容器就是一个XML配置文件;对于Java代码来说,Spring容器就是一个对象。这个对象,肯定是将这个XML配置文件加载到内存后,形成的对象。
这个XML配置文件约束从Spring框架的如下文件中可以找到:
\docs\spring-framework-reference\html\xsd-configuration.html
(3) 修改测试类
1.5.3 FileSystemXmlApplicationContext用法
将applicationContext放置到相应位置,修改测试类。
1.5.4 两个Spring容器的区别
(1) 修改SomeServiceImpl类
(2) 修改测试类
(3) Xml的区别
(4) ApplicationContext和BeanFactory区别
ApplicationContext容器:
应用上下文
当容器被创建时,会自动将容器中所有的Bean创建。
优点:系统响应速度快。
不足:浪费系统资源。
BeanFactory容器:
当容器被创建时,并不会自动将容器中的任何Bean创建。只有当真正使用该Bean时,才会由容器创建这个Bean。
优点:节省系统资源。
不足:相对来说,系统响应速度慢。