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()

相关内容

热门资讯

和我们一样享受春天初中作文3... 和我们一样享受春天初中作文350字 篇一春天是一个令人心旷神怡的季节,大自然万物复苏,给人们带来了无...
我是谁给自己定位初一作文通用... 我是谁给自己定位初一作文 第一篇世上只有妈妈好......每当我听到这歌,就会情不自禁地想:人们常说...
愉快的暑假作文初一400字精... 愉快的暑假作文初一400字 第一篇经过车船辗转、长途跋涉,我们终于来到了大鹿岛。一上岛我们就找到旅店...
初一作文集600字共20篇 初一作文集600字 第一篇雨从天空飘落,伴随着它那欢快的足音,花草荡漾出陶醉的美意;它和着自然清新的...
梦游星空初中作文800字(推... 梦游星空初中作文800字 篇一梦游星空我有一个梦想,那就是能够梦游星空。每当夜晚来临,我总是被漆黑的...
致已逝的七年级作文700字推... 致已逝的七年级作文700字 第一篇童年,美好而纯真。可是,它终将会逝去。我童年时最大的乐趣,莫过于和...
秋雨作文-秋雨的作文【精选3... 秋雨作文-秋雨的作文 篇一秋雨的作文秋天是一个多雨的季节,而秋雨更是秋天的象征。秋雨给大地带来了滋润...
初一的心事(经典3篇) 初一的心事 篇一初一的心事总是特别多,仿佛一瞬间从小学生变成了初中生,面对着新的学校、新的环境和新的...
告别同学的作文初一推荐25篇 告别同学的作文初一 第一篇时光匆匆如流水,转眼间,六年过去,我们即将毕业,昔日的时光不再重现,昔日的...
意外之喜作文(经典6篇) 意外之喜作文 篇一意外之喜总是让人心生欢喜和感激,它们常常出现在我们生活的某个角落,给我们带来意想不...
小兔子花初中作文【通用5篇】 小兔子花初中作文 篇一小兔子花我家后院有一个小花园,里面有各种各样的花。其中最引人注目的就是一株小兔...
不曾后悔初中作文(推荐5篇) 不曾后悔初中作文 篇一初中三年,是人生中最为关键的阶段之一。在这段时间里,我经历了许多挑战和困难,但...
我和我的祖国作文初一【精彩6... 我和我的祖国作文初一 篇一我和我的祖国我和我的祖国有着深厚的情感纽带。祖国是我们生活的土地,是我们成...
严母作文600字【最新3篇】 严母作文600字 篇一:严母的教育方式严母作文600字 篇二:严母的爱与关怀严母作文600字 篇三严...
如何指导初中学生写作文(优质... 如何指导初中学生写作文 篇一初中学生写作文是培养学生语言表达能力和思维逻辑能力的重要途径之一。然而,...
我的初中生活作文(经典6篇) 我的初中生活作文 篇一初中生活是我人生中的一个重要阶段,它塑造了我成长的轨迹,给予了我许多难忘的回忆...
掌心里的爱作文【优秀5篇】 掌心里的爱作文 篇一掌心里的爱爱是一种无私的情感,它无所不在,无处不在。在我们的生活中,有很多形式的...
全世界化成一滴蓝色的眼泪 初... 全世界化成一滴蓝色的眼泪 初中生作文 篇一全世界化成一滴蓝色的眼泪蓝色的眼泪从天空中滴落,汇聚成一滴...
我印象最深的人七年级写老师的... 我印象最深的人七年级写老师的作文 篇一我印象最深的人是我的语文老师,她是我七年级的班主任。她是一个非...
我属于你初一作文(推荐5篇) 我属于你初一作文 篇一我属于你初一作文初中生活,是我人生中重要的一个阶段。刚踏入初中的时候,我有些紧...