Spring全套

IOC容器

Javaweb开发及其解决方案

w

问题一:

需要在业务层new一个对象,new一个UserDaoImpl实现类,这就使得UserDaoImpl实现类和本方法高度耦合

解决思路:第三方根据要求为程序提供需要的Bean对象的代理对象

返回的对象是加强过的Bean对象,是通过特定方法加强过的对象,所以最后调用的不是对象,而是被加强的BeanProxy的一些方法,就能够达到对通用的方法的增强

三种思想的提出和框架概念

IOC思想指的是:创建对象的时候,不直接创建而是交给第三方来创建

DI思想指的是:如果Bean1中需要包含Bean2才能达到原有的一些效果

原先的做法是:从第三方获取Bean1和Bean2,再在程序代码中把Bean2设置给Bean1

DI思想中:把设置的步骤交给第三方,在第三方创建Bean1的时候就已经创建了Bean2,并把Bean2设置给了Bean1

Spring的概述

数据访问和web开发都是上层建筑部分,基于切面和核心容器上面存在的

BeanFactory版本

快速入门

创建第三方--->因为第三方不是我们手动编写的,而是Spring编写的,所以要导入Spring的jar包或者导入Maven坐标

编写Bean类

创建并配置配置文件--->创建对应的.xml文件,并将该类的信息配置到该XML中

编写测试代码,创建第三方,加载配置文件,获取该对象

IOC

Maven中已经配置好了核心内容:包括核心容器和切面相关

DI

告诉配置文件==告诉Bean工厂

在userServiceImpl中设置一个属性,包含name,ref两个属性,ref指的是去容器中找这个名字的类

name指的把ref当中指的容器交给userServiceImpl中属性名为name的属性

BeanFactory版本的依赖注入总结

重点是:1.在UserServiceImpl中添加一个setUserDao用于接收注入的对象

2.在xml配置文件当中嵌入<property>配置注入

3.在UserServiceImpl设置UserDao对象这个成员属性,这样之后UserServiceImpl中别的方法都可以调用这个对象

ApplicationContext版本的快速入门

ApplicationContext很多思想都源于BeanFactory

BeanFactory和ApplicationContext的关系

BeanFactory是早期的接口,主要是类方面的作用,ApplicationContext是后期的更高级的接口,有其他的功能

继承关系
"融合关系"

ApplicationContext 内部装了一个 BeanFactory 对象,所有底层的 Bean 管理工作都由它来做,ApplicationContext 只是一个 "带壳的超级工厂"。

ApplicationContext 在内部持有并使用 BeanFactory,把它作为自己实现的核心组件,而不是从零开始重写所有逻辑。

BeanFactory是在执行getBean之后才创建类
相关推荐
2分钟速写快排14 分钟前
什么是 RAG?如何用 RAG 实现一个用户记忆?
前端·后端·ai编程
面向Google编程19 分钟前
Apache Iceberg Variant 类型:v3 半结构化数据不再「二选一」
大数据·后端
lhldsg1 小时前
全民健身解决方案小程序开发:从0到1的技术实战
java·数据库·需求分析
jason成都1 小时前
Spring WebFlux 适配达梦新方案|dm‑r2dbc:Netty 异步传输的实验性 R2DBC 驱动
java·后端·spring
泡海椒1 小时前
内置SPI函数库详解:JQuick-Java Builtin工具类实战用法
java·开发语言·python
辰烨chenye1 小时前
LeetCode Hot 100 题解 · 二分篇
java·算法·leetcode
小羊没烦恼!2 小时前
Hello Web API系列教程——Web API与国际化
java·服务器·前端·javascript·php
北岛贰2 小时前
迷茫焦虑期,我做了一个带支付带官网的 AI 聊天虚拟恋人 App
前端·人工智能·后端
小荷才露尖尖角,早有蜻蜓立上头3 小时前
过滤器的4种创建方式
java
大圣编蚕3 小时前
Java ByteArrayInputStream 详解:从入门到实战
java·开发语言·算法