Spring的定义和创建,使用

news2024/11/20 13:43:10

前言:

我们常说的Spring就是Spring Framework(Spring框架),Spring支持广泛的应用场景,可以让Java企业级的应用程序开发起来更简单。

目录

一.Spring的定义:

1.1:IOC

1.2:DI 

二:Spring的创建

三:Spring的使用

3.1:将对象存储到spring容器中

3.2:从Spring容器中读取到bean对象 

1.通过名称+类型的形式获取到bean对象

2.通过名称的形式获取到bean对象

3.通过类型的形式获取到bean对象


一.Spring的定义:

用一句话概括Spring:Spring是包含了众多工具方法的IOC容器,而Spring最核心的功能是容器管理。说道这里,你是不是有很多疑问,什么是IOC?

1.1:IOC

IOC(Inversion of Control)控制反转,那什么又叫控制反转了。

1.2:DI 

DI:Dependency Injection的缩写,翻译成中文就是“依赖注入",动态将莫种依赖关系注入到对象之中,依赖注入和控制反转是从不同角度的描述的同一件事情。

举一个栗子:

我今天心情不好,要运动一会儿进行发泄情绪,运动一会儿是思想和目标(这就是IOC),至于是打羽毛球,还是跑步,这是具体实现(这就是DI)。

IOC和DI的区别:

IOC是一种思想,DI是一种具体实现。

二:Spring的创建

添加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> 

三:Spring的使用

3.1:将对象存储到spring容器中

1.先创建一个bean(一个对象被重复多次使用,就称之为bean)

2.将对象存储到Spring容器中

首先在resources目录下创建一个配置文件(config.xml)

2.1:通过bean标签存储 

 2.2:通过content标签存储

 


3.2:从Spring容器中读取到bean对象 

首先建立一个启动类start

1.通过名称+类型的形式获取到bean对象

 这里使用applicationContext来获取Spring的上下文。这个的特点就是:会将配置文件(xml)中所有的对象存储到Spring容器中,一次性加载。

2.通过名称的形式获取到bean对象

 这里通过BeanFactory获取Spring的上下文。就类似我们之间讲的懒加载,只有调用getBean的的时候,才会加载对应中的bean.

3.通过类型的形式获取到bean对象

当配置文件中,将一个bean对象以不同的名称存储到Spring中

 此时在同类型的形式获取bean对象的时候会报错。


总结:

以上就是我总结的Spring的创建简单的存储和使用。若有不对,请留言纠错,若感觉不错,一键三连。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/553732.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JavaEE进阶】第五节.第一个SpringBoot项目的创建

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;JavaEE进阶 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01; 文章目录 前…

赛宁首创革新赛制助力人才培养 | 第十六届全国大学生信息安全竞赛-创新实践能力赛全面启动!

​​为积极响应国家网络空间安全人才战略&#xff0c;加快攻防兼备创新人才培养步伐&#xff0c;实现以赛促学、以赛促教、以赛促用&#xff0c;推动网络空间安全人才培养和产学研用生态发展&#xff0c;由国防科技大学与中国科学技术大学联合承办的第十六届全国大学生信息安全…

你是不是在担心,ChatGPT写出的文字被其它AI识别?

文 / 高扬&#xff08;微信公众号&#xff1a;量子论&#xff09; 最近不少人问我一个道听途说的事情&#xff1a;听说已经有AI工具能够识别是不是ChatGPT写的文字了? 看来必要写篇文章&#xff0c;通过摆事实&#xff0c;为大家压压惊。 在赌场里&#xff0c;能抓老千的人一定…

2023年湖北中级工程师职称申请全流程,你知道吗?启程别告诉你!

2023年湖北中级工程师职称申请全流程&#xff0c;你知道吗&#xff1f;启程别告诉你&#xff01; 中级职称评审其实是有几个阶段的&#xff0c;职称申请全过程&#xff0c;启程别告诉你&#xff0c;让你评职称少走弯路哟&#xff1a; 第一阶段&#xff1a;准备阶段 第二阶段&…

【JavaEE进阶】——第六节.SpringBoot配置文件介绍

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;JavaEE进阶 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01; 文章目录 前…

深度学习框架-Caffe:特点、架构、应用和未来发展趋势

引言 深度学习是一种新兴的技术&#xff0c;已经在许多领域中得到广泛的应用&#xff0c;如计算机视觉、自然语言处理、语音识别等。在深度学习中&#xff0c;深度学习框架扮演着重要的角色。Caffe是一种广泛使用的深度学习框架&#xff0c;它在许多方面都有所改进&#xff0c…

基于Android的运动健身减肥管理系统设计与实现

一、项目介绍​ Android客户端功能描述&#xff1a; 1&#xff1a;登录注册&#xff1a;第一次输入用户名密码之后&#xff0c;再次打开登录页面&#xff0c;页面上自动填充上次输入的用户名和密码&#xff0c;登录使用图形验证码验证&#xff0c;登录成功之后&#xff0c;再…

两种鲸鱼优化算法 (whale optimization algorithm, WOA)及仿真实验——附代码

目录 摘要&#xff1a; 算法设计&#xff1a; WOA总体流程图如下&#xff1a; 增强型WOA&#xff08;E-WOA&#xff09; 仿真运行效果&#xff1a; 完整程序&#xff1a; 摘要&#xff1a; 鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯…

PM861K01 3BSE018105R1协作机器人机械臂的每个轴上会安装扭矩传感器,用于测量轴电机和变速箱内的机械张力

​ PM861K01 3BSE018105R1协作机器人机械臂的每个轴上会安装扭矩传感器&#xff0c;用于测量轴电机和变速箱内的机械张力 机器人在工业领域已经存在了几十年的时间&#xff0c;但技术创新正在推动全新一轮的工厂自动化趋势。对于那些曾经负担不起&#xff08;或者不需要&…

Spring 中 @NotEmpty、@NotBlank、@NotNull,傻傻分不清楚!

1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.0.5.RELEASE</version> </dependency>NotEmpty、NotBlank、NotNull 包的位置&#xff1…

智驾芯片市场要“变天”,这家中国厂商如何成为“量产先锋”?

中国智能驾驶芯片的量产之战&#xff0c;正在高歌猛进。 5月19日&#xff0c;黑芝麻智能宣布获得一汽红旗下一代FEEA3.0电子架构平台项目量产智驾芯片定点。据了解&#xff0c;基于黑芝麻智能华山二号A1000L系列芯片&#xff0c;一汽红旗将打造非分时复用的高性价比行泊一体自…

OpenHarmony社区运营报告(2023年4月)

本月快讯 • 2023年4月9日&#xff0c;OpenAtom OpenHarmony&#xff08;以下简称“OpenHarmony”&#xff09;3.2 Release新版本发布。相比一年前的OpenHarmony 3.1 Release版本&#xff0c;新版本的系统能力、系统整体性能、稳定性和安全性都进一步得到提升和完善&#xff1b…

小兔鲜项目----vue3入门

目录 认识Vue3 为什么需要学Vue3? Vue3组合式API体验 Vue3更多的优势 使用create-vue搭建Vue3项目 认识 create-vue 使用create-vue创建项目 熟悉项目目录和关键文件 组合式API - setup选项 setup选项的写法和执行时机 setup选项中写代码的特点 组合式API - reactive和…

SEO优化需要天天更新文章吗?

SEO优化并不要求每天都更新文章。 更新频率取决于你网站的内容类型、目标受众和业务需求。以下是一些建议&#xff1a; 高质量内容&#xff1a;关键是提供有价值且吸引人的内容。不要为了更新而随意发布低质量或重复的内容。确保你的文章有深度、独特性和相关性&#xff0c;以…

出现小红书负面笔记怎么维护,需要注意什么

很多时候&#xff0c;我们在品牌发布的过程中&#xff0c;都会遭受到来自各方不同的恶意。比如&#xff0c;品牌在小红书遇到同行或者写手恶意笔记&#xff0c;这个时候&#xff0c;大家肯定想要的就是不要负面笔记。今天来和大家分享下出现小红书负面笔记怎么维护&#xff0c;…

C++程序在Windows系统上启动失败与运行卡死问题排查实战

目录 1、VS2017默认编译出来的程序&#xff0c;不支持XP系统 1.1、新版本软件为什么要选择VS2017&#xff1f; 1.2、VS2017如何配置才能编出支持XP系统的程序&#xff1f; 1.3、最终选择使用VS2010编出的版本 2、程序在XP系统中启动报错&#xff0c;无法启动 2.1、提示在…

浅谈元年方舟数据中台之标签管理平台

在现如今的大数据时代&#xff0c;相信大家一定了解或者听说过下列几个场景&#xff1a; 购物APP&#xff1a;千人千面&#xff0c;意思不同用户使用相关的产品感觉是不一样的&#xff0c;不同用户看到的购物APP首页推荐内容和其他相关推荐流信息可能是完全不同的。 社交APP&a…

【MySQL新手到通关】第一章 数据库概述

文章目录 1. 为什么要使用数据库2. 数据库与数据库管理系统2.1 数据库的相关概念2.2 数据库与数据库管理系统的关系 3. MySQL介绍3.1 概述3.2 关于MySQL 8.03.3 为什么选择 MySQL3.4 Oracle vs MySQL 4. RDBMS 与 非RDBMS4.1 关系型数据库4.1.1 实质4.1.2 优势 4.2 非关系型数据…

基于QEMU的RISC-V架构linux系统开发(二)——RISC-V的Linux内核移植

1.在国内linux镜像源&#xff08;网易&#xff09;linux内核稳定版本V5.15.73&#xff08;注意&#xff1a;因为buildroot不支持最新版本&#xff0c;因此不下载最新版本&#xff09;的版本源码&#xff0c;链接如下所示&#xff1a; http://mirrors.163.com/kernel/v5.x/ 图1…