当前位置: 首页 > news >正文

Java【Spring】项目创建、存储和获取 Bean 的基本方式

文章目录

  • 前言
  • 一、创建 Spring 项目
    • 1, 创建 Maven 项目
    • 2, 添加 Spring 依赖
    • 3, 创建启动类
  • 二、存储 Bean 的基本方式
    • 1, 创建 Bean
    • 2, 存储 Bean
  • 三、获取 Bean 的基本方式
    • 1, 获取上下文对象
    • 2, 获取 Bean
    • 3, 使用 Bean
  • 总结


前言

各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你:
📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等
📗 Java数据结构: 顺序表, 链表, 堆, 二叉树, 二叉搜索树, 哈希表等
📘 JavaEE初阶: 多线程, 网络编程, TCP/IP协议, HTTP协议, Tomcat, Servlet, Linux, JVM等(正在持续更新)

在这里插入图片描述


提示:是正在努力进步的小菜鸟一只,如有大佬发现文章欠佳之处欢迎批评指点~ 废话不多说,直接上干货!

一、创建 Spring 项目

分为 3 步 :

  • 创建 Maven 项目
  • 引入 Spring 依赖
  • 添加启动类

1, 创建 Maven 项目

  • 在这里插入图片描述
    在这里插入图片描述

2, 添加 Spring 依赖

<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>5.2.3.RELEASE</version></dependency>
</dependencies>
  • 把这段代码拷贝到 pom.xml 文件里
    在这里插入图片描述

3, 创建启动类

  • 启动类是用于启动整个项目, 其中应该包含 main 方法
    在这里插入图片描述

二、存储 Bean 的基本方式

1, 创建 Bean

  • Spring 中把类对象称作 Bean, 首先要创建一个 Bean
    在这里插入图片描述

2, 存储 Bean

  • 创建好了一个 Bean 之后, 需要把他注册到 Spring(IoC 容器) 中, 通过配置文件的方式注册
    在这里插入图片描述
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"></beans>
  • 使用标签在配置文件中, 将 Bean 注册到 Spring 里面在这里插入图片描述

三、获取 Bean 的基本方式

1, 获取上下文对象

  • 上下文对象包含了 Spring 容器存储的所有 Bean, 要想获取 Bean, 就需要从上下文对象中取
    在这里插入图片描述
  • 还可以使用另外一种(官方已经不推荐使用但是面试可能会考的)方式获取上下文对象
    在这里插入图片描述

面试题 : ApplicationContext 和 BeanFactory 的区别?

1, 继承关系和功能方面来说:Spring 容器有两个顶级的接口:BeanFactory 和 ApplicationContext。其中 BeanFactory 提供了基础的访问容器的能力,而 ApplicationContext 属于 BeanFactory 的子类,它除了继承了 BeanFactory 的所有功能之外,它还拥有更多独特的特性,还添加了对国际化支持、资源访问支持、以及事件传播等方面的支持
2,从性能方面来说:ApplicationContext 是⼀次性加载并初始化所有的 Bean 对象,而 BeanFactory 是需要那个才去加载那个,所以使用 BeanFactory 初始化 Spring 较快, 但获取 Bean 时较慢, ApplicationContext 相反


2, 获取 Bean

  • 使用 getBean 方法获取 Bean, getBean 方法可以通过 id(字符串格式) , Bean 的类型, id(字符串格式) + 类型 三种方式来获取
    在这里插入图片描述

刚刚在 spring-config.xml 中制定了要存储的 Bean 的 id, 在这一步获取 Bean 时也要根据唯一的 id 来获取


3, 使用 Bean

  • 调用这个 Bean 的 run 方法
    在这里插入图片描述
    在这里插入图片描述

如果要获取多个 Bean , 获取上下文对象之后, 重复执行 2, 3 步即可


总结

总的来说没有什么特别复杂的地方, 除了获取 Bean 时 API 的调用, 需要注意的就是相关配置文件的设置~

如果本篇对你有帮助,请点赞收藏支持一下,小手一抖就是对作者莫大的鼓励啦😋😋😋~


上山总比下山辛苦
下篇文章见

在这里插入图片描述

http://www.lryc.cn/news/104909.html

相关文章:

  • docker minio安装
  • 设计模式-命令模式在Java中的使用示例-桌面程序自定义功能键
  • 分冶算法 剑指 07 重建二叉树 排序算法:剑指45 把数组排成最小的数 10-I 斐波那契数列
  • Postgresql取消正在执行的任务或强制终止正在执行的任务
  • 【Linux】Centos7 的 Systemctl 与 创建系统服务 (shell脚本)
  • Redis集群Cluster搭建
  • swing组件应用
  • Spring学习记录----十五、面向切面编程AOP+十六、Spring对事务的支持
  • Color Correction (颜色校正)
  • Unity-缓存池
  • ubuntu samba 配置常见问题
  • vue3.3-TinyMCE:TinyMCE富文本编辑器基础使用
  • 基于以太坊+IPFS的去中心化数据交易方法及平台
  • NestJS 的 拦截器 学习
  • Spring AOP 中的代理对象是怎么创建出来的?
  • 解决@Scope(“prototype“)不生效的问题
  • Mybatis 知识点
  • PHP中关于is,between,in等运算符的用法是什么?
  • 2023-07-29:华清远见嵌入式2017年线下班:文件IO笔记
  • 2023年第四届“华数杯”数学建模思路 - 复盘:光照强度计算的优化模型
  • Typescript第七章 处理错误(返回null,抛出异常,返回异常,Option类型)
  • Qt库xcb问题
  • C++ | 哈希表的实现与unordered_set/unordered_map的封装
  • 【漏洞挖掘】Xray+rad自动化批量漏洞挖掘
  • Swagger UI教程 API 文档和Node的使用
  • P5691 [NOI2001] 方程的解数
  • rust里用什么表示字节类型?
  • CMake简介
  • [threejs]相机与坐标
  • Qt信号与槽机制的基石-MOC详解