spring6对bean管理自己的一些理解

news/2024/11/19 2:25:04/

在JavaWeb中,存在以下的开发架构:

什么是Spring管理Bean

在传统的Java开发中,你需要手动创建对象及其依赖,这意味着你需要编写大量的构造代码,并且这些对象之间的依赖关系需要手动管理。这在复杂项目中会非常麻烦,难以维护和扩展。而Spring框架提供了一种简化对象创建与管理的方法,称为Bean管理,通过Spring的容器来完成这一切。

  • 将类或接口交给Spring管理

    • 使用Spring时,我们将类(如Service类、DAO类)或者接口交给Spring进行管理,通过注解或者配置的方式,Spring会把这些类注册为Bean
    • 这样,Spring就可以自动地管理这些类的实例化、依赖关系、生命周期等,使我们不用再手动去创建这些对象。
    • 使用接口:
      • 当将接口交给Spring管理时,通常需要有一个实现类,然后Spring会管理这个实现类的实例。实际应用中,开发者一般把接口交给Spring管理,然后注入它的实现类,这种做法主要是为了提高代码的灵活性和可替换性
      • 注入接口实际上就是注入接口的实现类。接口本身是一个抽象的规范,不能直接实例化,所以当我们注入接口时,Spring背后实际上是找到一个具体的实现类,然后将这个实现类的实例注入进来。
  • Service层与DAO层之间的依赖关系由Spring管理

    • 传统情况下,Service层需要调用DAO层的底层方法,这通常意味着需要用new关键字来手动创建DAO对象。这种方式增加了类之间的紧耦合,代码难以维护和测试。
    • 通过Spring的依赖注入(Dependency Injection),Service层不再需要手动去创建DAO对象,只需在Service类中声明DAO类为一个私有成员变量,并使用注解(如@Autowired)或者提供Setter/Getter方法,Spring就会自动地将这个DAO对象注入到Service类中。并且可以通过这个成员变量来调用底层方法。
      @Service
      public class UserService {@Autowiredprivate UserDao userDao;  // 不需要手动new,Spring自动注入public void registerUser(User user) {userDao.saveUser(user);  // 直接调用DAO层的方法System.out.println("User registered successfully.");}
      }
      


http://www.ppmy.cn/news/1548128.html

相关文章

数据分析编程:SQL,Python or SPL?

Talk is cheap. Let’s show the code 1. 计算用户会话次数 用户行为数据表 useridaction_typeaction_timeU1059login2023-12-01 18:00:10U1092login2023-12-01 18:00:17U1069login2023-12-01 18:00:22……… 10 分钟没有任何动作或退出后 5 分钟没有登录则认为会话结束&am…

安全见闻2

声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&#…

JS学习日记(jQuery库)

前言 今天先更新jQuery库的介绍,它是一个用来帮助快速开发的工具 介绍 jQuery是一个快速,小型且功能丰富的JavaScript库,jQuery设计宗旨是“write less,do more”,即倡导写更少的代码,做更多的事&#xf…

怎么用家用电脑做服务器(web服务器、ftp服务器、小程序服务器,云电脑)

原料: 1、家用电脑,是电脑就行 2、宽带,这个有要求哦,必须是官方宽带,北乔峰,南慕容,北联通南电信,什么长城宽带等等地方小帮派,都没有朝廷的公网IP,没法直接…

java 读取 有时需要sc.nextLine();读取换行符 有时不需要sc.nextLine();读取换行符 详解

在 Java 中,使用 Scanner 类读取输入时,换行符的处理行为取决于所用的读取方法。不同方法的工作原理会影响是否需要额外调用 sc.nextLine() 来清理缓冲区中的换行符。 核心问题 根本原因:Scanner 是基于输入流工作的,而换行符&am…

前端无感刷新token

摘要: Axios 无感知刷新令牌是一种在前端应用中实现自动刷新访问令牌(access token)的技术,确保用户在进行 API 请求时不会因为令牌过期而中断操作 目录概览 XMLHttpRequestAxiosFetch APIJQuni.request注意事项: 访问…

比较TCP/IP和OSI/RM的区别

一、结构不同 1、OSI:OSI划分为7层结构:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 2、TCP/IP:TCP/IP划分为4层结构:应用层、传输层、互联网络层和主机-网络层。 二、性质不同 1、OSI:OSI是制定…

【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-统计数字

CL13 统计数字(50 分) 一场歌唱比赛有不超过 26 位选手参加,选手的代号依次用大写字母 A、B、C……表示。在节目现场观众要给这些选手投票,每人投一票,选出最喜欢的选手。已知观众的投票记录,请将所有选手的得票数从高到低进行排…