网课学习ssm笔记-创新互联

SSM框架学习 spring的系统架构图

在这里插入图片描述
data access:数据访问
data integration:数据集成
transactions:事务

企业建站必须是能够以充分展现企业形象为主要目的,是企业文化与产品对外扩展宣传的重要窗口,一个合格的网站不仅仅能为公司带来巨大的互联网上的收集和信息发布平台,成都创新互联公司面向各种领域:成都软装设计网站设计成都全网营销解决方案、网站设计等建站排名服务。

AOP:Aspect Oriented Programming 面向切面编程
Aspects:切面

Core container:核心容器

spring核心概念

1.IoC(Inversion of Control)控制反转
使用对象时由主动new产生对象转换为由外部提供对象,这个过程中对象创建控制权由程序转给外部,这个思想叫控制反转。

2.spring将这个思想实现了
spring提供的IoC容器就是控制反转思想中的外部
IoC容器负责创建、初始化对象,而被创建或被管理的对象在IoC容器里被称为Bean

3.DI(dependency injection)依赖注入
在容器中bean和bean之间建立依赖关系的过程叫依赖注入

上述三点的目的在于解耦
IoC管理bean
给IoC容器内有依赖关系的bean绑定

IoC实例
  • 管理什么? service和dao
    • 使用spring导入哪些坐标? pom.xml
      • 首先要更新依赖,然后再刷新maven
org.springframework  spring-context5.3.0
  • 怎么将被管理对象的告诉IoC容器? 配置
    • 在resource下面创建applicationContext.xml开始配置
  • 怎么获取IoC容器? 接口
//获取ioc容器
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
  • 怎么获取bean? 接口方法
//获取bean
        //BookDao bookDao = (BookDao) ctx.getBean("bookDao");
        BookService bookService = (BookService) ctx.getBean("bookService");
        //bookDao.save();
        bookService.save();

至此一个简单的入门IoC实例就完成了,但是只是这种程度还是没有做到解耦这个目标的。

DI入门案例
  • 基于IoC管理bean

  • service中new的Dao对象不应该保存

  • 给service提供所需要的Dao对象

private BookDao bookDao;
public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }
  • 描述Dao和Service的关系
bean的基本配置
  • bean的别名配置
类型描述
名称name
类型属性
所属bean
作用给bean起别名,多个别名用,;以及空格隔开

bean无论是通过id还是name获取如果无法获取到会抛出异常
NoSucnBeanDefinitionException:No bean named ‘********’ available

  • bean的作用范围
类型描述
名称scope
类型属性
所属bean
作用定义bean的作用范围,其中singleton表示单例(默认)而prototype表示非单例

适合交给容器管理的bean
表现层对象
业务层对象
数据层对象
工具类
不适合交给容器管理的bean
封装实体的域对象

bean的实例化
  • 构造方法实例化
    无参的构造方法如果不存在,则会抛出异常BeanCreationException
  • 静态工厂实例化
    factory-method
  • 实例工厂初始化bean
    先配置一个工厂bean
    再用factory-bean指向工厂bean
  • FactoryBean实例化
bean的生命周期
  • 初始化容器
    创建对象
    执行构造方法
    执行属性注入
    执行bean初始化方法
  • 使用bean
    业务操作
  • 关闭容器
    销毁bean

配置初始化和销毁
init-method
destory-method
如果想看到destory-method得先关闭容器否则看不到
close()暴力关闭容器
RegisterShutDownHook退出虚拟机之前关闭容器

依赖注入
  • setter注入
    • 简单类型
      1.提供方法
      2.配置
      用property标签value属性注入简单数据类型
    • 引用类型
      1.提供方法
      2.用property标签name配置哪一个,ref参考哪一个bean
  • 构造方法
    • 简单类型
      constructor-arg标签name配置哪一个,value注入类型
    • 引用类型
      constructor-arg标签name配置哪一个,ref参考哪一个bean

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站栏目:网课学习ssm笔记-创新互联
文章起源:http://scyanting.com/article/eiogg.html