Spring入门

41 阅读3分钟

Spring入门(一)-Spring框架简介

Spring框架

Spring框架是java应用最广泛的框架,它的成功来源于理念,而不是技术本身,它的理念包括IoC(Inversion of Control,控制反转)  和 AOP(AspectOrientedProgramming, 面向切面编程) 。 Spring是容器框架,用于配置Bean并维护Bean之间的关系的一种框架,Bean是Java中的任何一种对象。

Spring能够:

    1. 能够根据配置文件创建及组装对象之间的依赖关系。
    1. 面向切面编程能够帮我们无耦合的实现日志记录,性能统计,安全控制。
    1. 能非常简单的帮我们管理数据库事务。
    1. 提供了与第三方书库访问框架无缝集成。
    1. Spring能够与第三方wen框架无缝集成,

Spring的框架结构:

  • Data Access/Integeration 层包含有JDBC\ORM\OXM\JMS和Transaction模块

  • Web层包含了Web\Web-Servlet\WebSocket\Web-Porlet模块

  • AOP模块提供了一个符合AOP联盟标准的面向切面编程实现

  • Core Container(核心容器) :包含有Beans、Core、Contenxt和SpEL模块。

    • Core模块:封装了框架依赖的最底层部分,包括资源访问、类型转换及一些常用工具类
    • Beans模块: 提供了框架的基础部分,包括反转控制和依赖注入,其中BeanFactory是容器核心,本质是“工厂设计模式”的实现,所有应用中对象间的关系由框架管理。
    • Context模块,以Core和Beans为基础,继承Beans模块功能并添加资源绑定,数据验证、国际化、javaEE支持,容器生命周期,事件传播等;核心接口是ApplicationContext
    • EL模块:提供强大的表达式语言支持,支持访问和修改属性值,方法调用,支持访问及修改数组,容器和索引器,命名变量,支持算数和逻辑运算,支持从Spring容器获取Bean,他也支持列表投影、选择和一般的列表聚合等。
  • Test模块支持使用Jnint对Spring组件进行测试


IOC和DI简介

IoC: Incerse of Control(控制反转)
控制反转是一种设计思想,就是将原本在程序中手动创建对象的控制权交由Spring框架来管理。也就是说,Spring将我们从盘根错节的依赖关系中解放了。当前对象如果需要依赖另一个对象,只要打一个@Autowired注解,Spring就会自动创建好对象放入到@Autowired标注的变量中。从而实现松耦合。

正控:若要使用某个对象,需要自己去负责对象的创建。
反控:若要使用某个对象,只需要从Spring中获取需要使用的对象,不关心对象的创建过程,也就是把对象的创建过程交给了Spring框架。

DI:Dependency Injection(依赖注入)
DI:Spring创建对象的过程中,讲对象依赖属性(常亮,对象,集合),通过配置设置值给该对象。

###编写一个Spring程序

  • 1、创建Spring项目(这里使用idea)

  • 2、创建lib目录放进必要的jar包,并将lib设为编译目录

这里项目创建完成。

  • 在package[pojo]下新建User类

  • 在SpringConfig.xml中通过xml配置的方式装配Bean

  • 在package[test]下新建testSpring类

  • 运行测试代码


  • 在这里,传统的方式是通过new关键字来主动创建一个对象。
    IOC方式 为由Spring来创建对象。直接从Spring中获取一个对象。IOC控制反转就是将本来自己new出对象改为从Spring中获取对象。从而实现了低耦合。

继续上面的项目

  • 在pojo下创建一个LoginService类

  • 在xml文件中配置LoginService对象:

  • 在[testSpirng]中添加以下代码

  • 运行测试代码

  • 注: 在这里,传统的方式需要new来获取对象再用=运算符将对象引用赋值给变量。
    而当这里使用了ioc来管理对象时,使用DI来注入对象,通过xml文件配置注入。