美文网首页轻量化框架技术
第一章:Spring基本应用

第一章:Spring基本应用

作者: Y_Jaaao | 来源:发表于2020-04-10 21:02 被阅读0次

    什么是Spring

    Spring含义
    服务器端采用的3层体系结构
    • 表示层(Web):在该层提供了Struts等框架的整合
    • 业务逻辑层(Service):在该层可以管理事务、记录日志等
    • 持久层(Dao):在该层可以整合Hibernate、JdbcTemplate等技术

    Spring框架的优点

    • Spring具有简单、可测试、松耦合等特点
    Spring框架的7大优点
    • 1、非侵入式设计
    • 2、方便解耦、简化开发
    • 3、支持AOP
    • 4、支持声明式事务处理
    • 5、方便程序测试
    • 6、方便集成各种优秀框架
    • 7、降低Java EE API的使用难度

    Spring的体系结构

    • Spring框架采用的是分层结构,它一系列的功能要素被分成20个模块,20个模块又被分成4个部分
    • 1、Core Container(核心模块)
      Core Container
      (1)Beans:提供了BeanFactory,Spring将管理对象称Bean
      (2)Core:提供了Spring框架的基本组成部分,包括IoC和DI功能
      (3)Context:建立在Core和Bean模块的基础之上,是访问定义和配置的任何对象的媒介
      (4)SpEL:Spring3.0后新增的模块,是运行时查询和操作对象图的强大的表达式语言
    • 2、Data Access/Integration(数据访问/集成)
      Data Access
      (1)JDBC:提供了JDBC的抽象层,大幅度减少了在开发过程中对数据库操作的编码
      (2)ORM:对流行的对象关系映射API,包括JPA、JDO、Hibernate提供了集成层支持
      (3)OXM:提供了一个支持对象/XML映射的抽象层实现,如JAXB、Castor、XMLBeans、JiBx、XStream
      (4)JMS:指Java消息传递服务,包含使用和产生信息的特性
      (5)Transactions:支持对实现特殊接口以及所有POJO类的编程和声明式的事务管理
      • 3、Web
        (1)Servlet:也称Spring-webmvc模块,包含Spring模型-视图-控制器(MVC)和REST Web Services实现的Web程序
        (2)Web:提供了基本的Web开发集成特性,如:多文件上传、使用Servlet监听器来初始化IoC容器以及Web应用上下文
        (3)Portlet:提供了在Portlet环境中使用MVC实现,类似Servlet模块的功能
        (2)WebSocket:提供WebSocket和SockJS的实现,以及对STOMP的支持
      • 4、其他模块
        (1)AOP:提供了面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以降低耦合性
        (2)Aspects:提供了与AspectJ的集成功能,AspectJ是一个功能强大且成熟的面向切面编程(AOP)框架
        (3)Instrumentation:提供了类工具的支持和类加载器的实现,可以在特定的应用服务器中使用
        (4)Messaging:Spring 4.0后增加的模块,提供了对消息传递体系结构和协议的支持
        (4)Test:提供了对单元测试和集成测试的支持

    Spring的核心容器

    Spring提供了的2种核心容器
    • BeanFactory
      • 作用:BeanFactory就是一个管理Bean的工厂,主要负责初始化各种Bean,并调用它们的生命周期方法
      • 创建BeanFactory实例时,需要提供Spring所管理容器的详细配置信息,这些信息通常采用XML文件



        形式来管理

    • ApplicationContext
      - 是BeanFactory的子接口。包含BeanFactory的所有功能,还添加了对国际化、资源访问、事件传播等方面的支持。创建ApplicationContext接口实例,通采用2种方法:
      (1)通过ClassPathXmlApplicationContext创建(最常用)
      (2)通过FileSystemXmlApplicationContext创建
    Spring获取Bean的实例通常采用2种方法
    获取Bean的实例

    依赖注入(DI)概念

    • 与控制反转(IoC)含义相同


      概念

    依赖注入的实现方式

    属性setter方法实现依赖注入
    • 指IoC容器使用setter方法注入被依赖的实例。通过调用无参构造器或无参静态工厂方法实例化Bean后,调用该Bean的setter方法,即可实现基于setter方法的依赖注入






    构造方法实现依赖注入
    • 指IoC容器使用构造方法注入被依赖的实例。基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖

    Bean的生命周期

    ① Spring IoC容器找到关于Bean的定义并实例化该Bean。
    ② Spring IoC容器对Bean进行依赖注入。
    ③ 如果Bean实现了BeanNameAware接口,则将该Bean的id传给setBeanName方法。
    ④ 如果Bean实现了BeanFactoryAware接口,则将BeanFactory对象传给setBeanFactory方法。
    ⑤ 如果Bean实现了BeanPostProcessor接口,则调用其postProcessBeforeInitialization方法。
    ⑥ 如果Bean实现了InitializingBean接口,则调用其afterPropertySet方法。
    ⑦ 如果有和Bean关联的BeanPostProcessors对象,则这些对象的postProcessAfterInitialization方法被调用。
    ⑧ 当销毁Bean实例时,如果Bean实现了DisposableBean接口,则调用其destroy方法。

    相关文章

      网友评论

        本文标题:第一章:Spring基本应用

        本文链接:https://www.haomeiwen.com/subject/zixouhtx.html