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之后才创建类
相关推荐
Irene199112 分钟前
Flink 学习日志 01:前端转大数据的实战避坑指南
java·jvm·flink
Thomas.Sir13 分钟前
第1课:SpringBoot 4.x 快速上手:新特性、环境准备与第一个HelloWorld程序
java·spring boot
geovindu17 分钟前
rust: Template Method Pattern(续)
开发语言·后端·设计模式·rust·行为模式·板方法模式
每天一道题20 分钟前
从单体到微服务:Service、Instance 与服务拆分到底是什么关系?
后端·微服务·云原生·架构
怕浪猫29 分钟前
前端对接聊天 API:我用 React 做了一个比 ChatGPT 还好看的界面
前端·后端·面试
devilnumber32 分钟前
Java 内部迭代 vs 外部迭代:从原理到实战避坑
java·开发语言
IT_陈寒34 分钟前
深入理解Python:核心原理与最佳实践
前端·人工智能·后端
杨运交38 分钟前
080-缓存模块-Spring Cache缓存键前缀设计与租户隔离实践
java·spring·缓存
\光辉岁月/41 分钟前
5.math类
java·开发语言
文丑颜不良啊43 分钟前
LeetCode76~100题目解析
java·leetcode