SSM框架
创始人
2024-05-30 06:56:31
0

Spring Framework系统结构

  • Core Contrainer: 核心容器
  • AOP:面向切面编程
  • Aspects:AOP思想实现
  • Data Access: 数据访问
  • Data Integration:数据集成
  • Web:Web开发
  • Test:单元测试与集成测试

核心概念

  • 代码书写现状
    -耦合度偏高

  • 解决方案
    -使用对象时,在程序中不要主动使用new产生对象,转换为由外部提供对象

  • IoC(Inversion of Control)控制反转
    - 使用对象时,由主动new产生对象转换为由外部提供对象,此过程中对象创建控制权由程序转移到外部,此思想称为控制反转

  • Spring技术对IoC思想进行了实现
    - Spring提供了一个容器,称为IoC容器,用来充当IoC思想中的"外部"
    - IoC容器负责对象的创建,初始化等一系列工作,被创建或被管理的对象在IoC容器中统称为Bean

  • DI(DepenDency Injection) 依赖注入
    - 在容器中建立bean与bean之间的依赖关系的整个过程,称为依赖注入

DI入门案例思路分析

1.基于IoC管理bean
2.Service中使用new形式创建的对象是否保留?(否)
3.Service中需要的Dao对象如何进入到Service中?(提供方法)
4.Service与Dao的关系如何描述?(配置)



bean配置

bean基础配置

bean别名配置

bean作用范围配置

属性名称:scope
所属:bean标签
功能 :定义bean的作用范围,可选范围如下

  • singleton:单例(默认)
  • prototype:非单例

范例:


为什么bean默认为单例?

适合交给容器进行管理的bean

  • 表现层对象
  • 业务层对象
  • 数据层对象
  • 工具对象

不适合交给容器进行管理的bean

  • 封装实体的域对象

bean实例化

bean是如何创建的,实例化bean的三种方式

第一种实例化bean的方式

  • bean本质上就是对象,创建bean使用构造方法完成
  1. 提供可访问的构造方法
public class BookDaoImpl implements BookDao{public BookDaoImpl(){System.out.println("book constructor is running ...");}public void save(){System.out.println("book dao save ...");}	
}
  1. 配置
 
  • 无参构造方法如果不存在,将抛出异常BeanCreationExcption

第二种实例化bean的方式 使用静态工厂实例化bean

factory-method:告诉spring 静态工厂里面那个方法是创建对象的

  • 静态工厂
 public class OrderDaoFactory{public static orderDao getOrderDao(){return new OrderDaoImpl();
}
  • 配置

第三种实例化bean的方法,实例工厂

  • 实例工厂
public class userDaoFactory{public UserDao getUserDao(){return new UserDaoImpl();}
}
  • 配置


第四种实例化bean的方法,第三种的变种 FactoryBean(实用)

public class UserDaoFactoryBean implements FactoryBean{//代替原始实例工厂中创建对象的方法public UserDao getObject() throws Exception{return new UserDaoImpl();}public Class getObjectType(){return UserDao.class;
}
  • 配置

bean生命周期

  • 生命周期:从创建到消亡的完整过程
  • bean生命周期: bean从创建到销毁的整体过程
  • bean生命周期控制:在bean创建后到销毁前做一些事情

有两种格式
第一种是spring配置的格式

  • 提供生命周期控制方法
public class BookDaoImpl implements BookDao{public void save(){...}//初始化public void init(){...}//销毁前public void destory(){...}
}
  • 配置生命周期控制方法

  • 初始化容器

    1. 创建对象(内存分配)
    2. 执行构造方法
    3. 执行属性注入(set 操作)
    4. 执行bean初始化方法
  • 使用bean

    1. 执行业务操作
  • 关闭销毁容器
    1.执行bean销毁方法

关闭容器

  • ConfigurableApplicationContext
    • close()
    • registerShudownHook()

相关内容

热门资讯

乔家大院简介导游词 乔家大院简介导游词  导游词是导游人员引导游客观光游览时的讲解词,是导游员同游客交流思想,向游客传播...
乐山大佛导游词 乐山大佛导游词500字五篇  作为一位尽职的导游,有必要进行细致的导游词准备工作,导游词是导游员同游...
湖北武当山紫霄宫导游词 湖北武当山紫霄宫导游词各位朋友们:  紫霄到了,你们看前面半天云里山峰是否像一面展开的旗帜,这就是展...
明十三陵概况及神道导游词 明十三陵概况及神道导游词  明十三陵位于北京市昌平区北部天寿山下,因明代迁都北京后,有十三位皇帝埋葬...
九华山导游词作文400字 九华山导游词作文400字  以下是九华山的导游词作文400字范文,希望对大家有帮助!  篇一:九华山...
绍兴兰亭风景区导游词 绍兴兰亭风景区导游词  作为一名乐于助人的导游,常常需要准备导游词,导游词具有极强的实用性,涉及的知...
天下第一宫—黄帝... 天下第一宫—黄帝宫游览区导游词  作为一位兢兢业业的旅游从业人员,总不可避免地需要编写导游词,导游词...
导游词之大九湖 导游词之大九湖  我们今天游览的是被称其为湖北的“呼伦贝尔”的大九湖风景区,大九湖并非湖,而是一片沼...
上饶三清山导游词 上饶三清山导游词(通用9篇)  作为一名乐于助人的导游,通常需要用到导游词来辅助讲解,导游词具有形象...
洪崖丹井导游词 洪崖丹井导游词3篇  作为一名尽职尽责的导游,编写导游词是必不可少的,导游词具有注重口语化、精简凝练...
沈阳新乐遗址导游词 关于沈阳新乐遗址导游词范文  新乐文化遗址位于沈阳市皇姑区黄河北大街北运河北岸黄土高台之上,1977...
西山导游词 西山导游词(15篇)  作为一名专门为游客提供优质服务的导游人员,编写导游词是必不可少的,导游词具有...
介绍北京的导游词 介绍北京的导游词(通用10篇)  导游词是导游人员引导游客观光游览时的讲解词,是导游员同游客交流思想...
小小三峡导游词 小小三峡导游词(精选8篇)  作为一位兢兢业业的旅游从业人员,通常需要准备好一份导游词,导游词由引言...
烟台海昌鲸鲨馆导游词 烟台海昌鲸鲨馆导游词3篇  篇一:烟台海昌鲸鲨馆导游词  来到鲸鲨馆门前,别具一格的螺状建筑展现在眼...
神农架导游词 神农架导游词推荐  神农架于1986年经国务院批准为国家级森林和野生动物自然保护区。  神农架区为湖...
云南九乡导游词 云南九乡导游词  导游词是导游人员引导游客观光游览时的讲解词,是导游员同游客交流思想,向游客传播文化...
五台山殊像寺导游词 五台山殊像寺导游词  导语:对五台山的殊像寺,导游会怎样解说?下面是小编整理的五台山殊像寺导游词,欢...
孝感董永公园导游词 孝感董永公园导游词  董永公园位于孝感市,国家AAAA级旅游景区,位于孝感市城区槐荫大道东段,距武汉...
拜将台的导游词 拜将台的导游词  我们现在就来到了拜将台。拜将台作为汉初三遗址之一,它坐落在汉中城南,是刘邦拜韩信为...