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之后才创建类
相关推荐
Muscleheng11 小时前
Spring Boot 3.x 集成 DeepSeek 实现 Function Calling(工具调用)
人工智能·spring boot·后端·ai·spring ai·deepseek
@航空母舰11 小时前
SpringBoot通过Map实现天然的策略模式
java·spring boot·后端
Co_Hui11 小时前
Java 并发编程
java
IT_陈寒12 小时前
JavaScript的this又双叒叕让我怀疑人生了
前端·人工智能·后端
陈随易12 小时前
MCP协议第5次更新,从打电话到微信聊天的巨大变革
前端·后端·程序员
65岁退休Coder12 小时前
LangChain v1.3.4 笔记 - 06 RAG 检索增强生成
后端
妙码生花13 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(四十三):前后端数据验证
后端·go·ai编程
long31613 小时前
Java 新手入门与实战开发指南
java·开发语言
YuePeng13 小时前
别再让 AI 直接写 SQL 了:一个注解搞定十亿行数据的语义层
后端·github
半夜里咳嗽的狼13 小时前
Go 1.25 的 WaitGroup.Go 省了两行代码,也补不上这三个并发边界
后端·go