| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 【SSM学习】01-2-Spring IOC -> 正文阅读 |
|
[Java知识库]【SSM学习】01-2-Spring IOC |
SSM(B站黑马)学习笔记01-1-Spring概述 前言SSM(B站黑马)学习笔记 01-2-Spring IOC IOC、核心容器核心观点IOC/DI、IOC容器(管理对象的创建和初始化过程)、Bean更改数据层实现,需要重新编译、测试、部署、发布,都是有成本的。 IOC快速入门快速入门思路分
DI(dependency injection 依赖注入)DI 快速入门就是旧写法对项目的耦合度偏高,使用IOC将new对象的交由外部管理,bean就是声明要管理的类,在bean中建立类和类的依赖关系,也通过bean传递运行该类所需的东西,比如service需要dao层,在service就不用new dao层,在bean中声明dao层的bean和service的bean,在service的bean中建立两者得到依赖关系称为DI 快速入门思路分析
DI(依赖注入)方式依赖注入就是描述bean和bean之间的关系,比如service和dao的关系,在service的bean中引用dao的bean称为引用类型,又比如管理数据库连接池的bean所需驱动 url 用户名 密码 这些就是简单类型。传递供这个bean运行所需的东西,而这个bean又是声明要管理的类,所以就是传给这个类需要的东西让程序正常运行。 依赖注入的两种方式 setter注入——引用类型
setter注入——简单类型
构造器注入——引用类型(了解)构造器注入——简单类型参数适配(了解) 两种方式选择 依赖自动装配
依赖自动装配特征 集合注入(很少用)
BeanBean配置bean基础配置 bean别名配置 bean作用范围配置 实例化bean的三(四)种方式使用构造方法(常用) 使用静态工厂实例化(了解)
用实例工厂实例化bean(了解) 方式三改良 使用FactoryBean实例化bean(实用) Bean生命周期配置的方法控制生命周期 destory没执行,因为现在程序运行在Java虚拟机中,虚拟机启动了,IOC容器加载的配置也启动了,然后bean初始化并执行完了,然后程序执行完虚拟机就退出了,没有给bean销毁的机会 使用接口控制生命周期(了解) bean销毁 数据源对象管理(第三方的bean管理)例1:阿里巴巴数据库连接池导入坐标(依赖) 连接数据库一般需要数据库驱动 url 用户名 密码,查看需要管理的对象是用构造方法还是set方法。按住ctrl点击文件,按ctrl+f12查看方法。(管理第三方提供的资源,就是你的对象交给我管理我把对应的属性提供给它正常工作) 连接成功 例2:C3P0数据库连接池导入坐标(依赖) 管理C3P0的对象,要管理谁 不知道,通过查询百度等找的类似于阿里巴巴数据库连接池的DruidDataSource。 连接成功 加载properties文件将 com.mysql.cj.jdbc.Driver 这些写在配置文件中不合适,应该单独抽出来,用properties文件。使用Spring加载properties文件中的信息 容器
核心容器总结容器相关 bean相关 依赖注入相关 注解开发Spring提供了一系列注解,使用注解就能加快开发速度。从Spring2.0开始Spring逐步提供了各种各样的注解,到了2.5的时候注解就比较完善了,所以我们先学习如何使用Spring提供的这一系列注解来简化我们的开发。到了Spring3.0的时候推出了纯注解开发。 注解开发定义Bean根据名称访问@Component(“bookDao”)相当于 根据类访问@Component 不指定名称 <context:component-scan base-package=“com.gdit”/>会扫描该包下的类,相当于bean标签内的class @Component的衍生注解@Controller @Service @Repository 这三个作用跟@Component功能一样,只是为了方便理解分层 纯注解开发Spring3.0的时候推出了纯注解开发,免去了配置文件,用类替换掉配置文件 @Configuration就代表这是配置类相当于配置文件的头标 @ComponentScan(“com.gdit”)相当于扫描包<context:component-scan base-package=“com.gdit”/> 容器通过类获取 注解开发依赖注入配置文件有set注入 构造器注入,Spring注解开发是为了加速开发,所以对原始功能做了阉割,只做了最快最好用的功能 自动装配。 引用类型@Autowired 注意:由于@Autowired是按类型装配的,当有两个BookDao的实现类时就会出错如图 可以通过@Qualifier(“”)注解指定名称装配 必须打破@Autowired注解使用 简单类型
简单类型加载properties文件
注解开发 bean作用范围与生命周期
第三方bean管理第三方bean管理管理第三方bean 由于不能把配置直接写源代码中,所以只能以编程去写 导入坐标(依赖) 新建单独配置类 方式一:扫描包的形式(不推荐,当配置了过多无法观察加载了哪些配置类) 方式二:使用@Import()注解导入配置类(多个使用数组 这样便于精准查看导入了哪些配置类) 两种方式都可运行(推荐第二种)两种方式都可运行(推荐第二种) 第三方bean依赖注入简单类型 引用类型 注解开发总结XML配置与注解配置对比 Spring整合Spring整合Mybatis思路分析Mybatis独立开发 导入依赖->编写mybatis-config.xml配置文件->代理开发(xml映射文件或注解开发,这里使用纯注解开发)->编码执行 Spring IOC用来管bean的,思考Mybatis中哪些bean应该交给它管。在Mybatis独立开发的编码执行阶段,将其分成几部分,其中获取数据层接口部分随着业务的变化也会随之变化所以不是;第二部分获取SqlSession的openSession依赖于SqlSessionFactory造的对象,所以核心对象是SqlSessionFactory。构建SqlSessionFactory对象需要加载mybatis-config.xml,数据库的配置所有都是围绕这个配置文件的,图二中初始化dataSource部分告知SqlSessionFactory操作哪个数据库,所以这一部分是为SqlSessionFactory服务的。 分析核心对象->交由Spring管理 Spring整合Mybatis相关依赖
整合Mybatis核心容器注解开发初始化 编写整合Mybatis的配置类 将sqlSessionFactory交由Spring管理,对其所需的mybatis-config.xml配置进行替换(注:dataSource是jdbConfig来的,它生成的DataSource已经交给Spring了) SqlSessionFactoryBean是Mybatis和Spring整合快速创建SqlSessionFactory对象。FactoryBean都是造对象的,其都有一个getObject()方法返回对象 整合完成运行 Spring整合JUnit导入相关依赖 编写测试类 注:该内容是根据B站黑马程序员学习时所记,相关资料可在B站查询:黑马程序员2022最新SSM框架教程_Spring+SpringMVC+Maven高级+SpringBoot+MyBatisPlus企业实用开发技术 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 12:21:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |