zoukankan      html  css  js  c++  java
  • Spring In Action(第三版)读书笔记

    第一章 Spring之旅

    POJO: plain old java object 简单的java对象

    DI:Dependency Injection 依赖注入

    构造器注入:构造时作为构造器参数传入

    private Quest quest;
    public BraveKnight(Quest quest){
        this.quest = quest;
    }

    其中 Quest是个接口,用以在于实现松耦合

    测试的时候可以使用mock实现。如下:

    Quest mockQuest = mock(Quest.class);
    BraveKnight knight = new BraveKnight(mockQuest);

    装配wiring: 创建组件之间的协作行为.

    XML配置装配

    <bean id="quest" class="test.SlayDragonQuest"/>
    <bean id="knight" class="test.BraveKnight">
        <constructor-arg ref="quest"/>
    </bean>

    通过应用上下文(Application Context)装载Bean的定义

    ApplicationContext context= new ClassPathXmlApplicationContext("knight.xml");
    Knight knight = (Knight) context.getBean("knight");

    AOP: Aspect-oriented Programming 应用切面编程--分离成可重用的组件.

    Spring容器:Bean factories,最简单的容器

    应用上下文:基于Bean factories之上,提供面向应用的服务。

    ClassPathXmlApplicationContext——类路径下的xml文件

    FileSystemXmlApplicationContext——绝对路径下的xml文件

    XmlWebApplicationContext——web应用下的xml文件

    Spring框架(分类比较杂,常见的有如下)

    1. AOP模块

    2. DAO模块(data access object)

    ORM: object-relational mapping 对象关系映射

    把关系型数据库中的关系数据映射成为程序中的对象。

    3. web模块

    4. spring mvc

    *************************************************************************************

    第二章 装配Bean

    构造器注入

    <bean id="duke" class="test.Duke">
        <constructor-arg value="15"/><!-- 注意 如果注入另一个bean,需用 ref, not value-->
    </bean>

    通过工程方法创建bean

    -- 可以把没有公开构造函数的类配置为一个bean

    <bean id="singleton" class="test.Singleton“ factory-method=”getInstance"/>

    Bean的作用域

    singleton    (默认)在每个Spring IoC容器中一个bean定义对应一个对象实例。

    prototype    一个bean定义对应多个对象实例。

    request     在一次HTTP请求中,一个bean定义对应一个实例;即每次HTTP请求将会有各自的bean实例, 它们依据某个bean定义创建而成。该作用域仅在基于web的Spring ApplicationContext 情形下有效。

    session     在一个HTTP Session 中,一个bean定义对应一个实例。该作用域仅在基于web的SpringApplicationContext 情形下有效。

    global-session   在一个全局的HTTP Session 中,一个bean定义对应一个实例。典型情况下,仅在使用portlet context的时候有效。该作用域仅在基于web的Spring ApplicationContext 情形下有效。

  • 相关阅读:
    SpringMVC之五:自定义DispatcherServlet配置及配置额外的 servlets 和 filters
    DTP模型之一:(XA协议之三)MySQL数据库分布式事务XA优缺点与改进方案
    Spring Bean基本管理--bean注入方式汇总
    类装载器ClassLoader
    spring中的BeanFactory与ApplicationContext的作用和区别?
    Spring IoC,IoC原理
    mybatis实战教程(mybatis in action)之九:mybatis 代码生成工具的使用
    session.write类型引发的思考---Mina Session.write流程探索.doc--zhengli
    MyBatis的association示例——MyBatis学习笔记之三
    MyBatis一对多双向关联——MyBatis学习笔记之七
  • 原文地址:https://www.cnblogs.com/dorothychai/p/3949339.html
Copyright © 2011-2022 走看看