Spring的创建和使用

63 篇文章 3 订阅
订阅专栏

Spring 就是⼀个包含了众多⼯具⽅法的 IoC 容器。既然是容器那么它就具备两个最基本的功能:

  • 将对象存储到容器(Spring)中;
  • 从容器中将对象取出来。
     

在Java 语⾔中对象也叫做 Bean,所以后⾯咱们再遇到对象就以 Bean 著称 

1.创建 Spring 项目,并使用

接下来使⽤ Maven ⽅式来创建⼀个 Spring 项⽬,创建 Spring 项⽬和 Servlet 类似,总共分为以下 3步:
1. 创建⼀个普通 Maven 项⽬。
2. 添加 Spring 框架⽀持(spring-context、spring-beans)。
3. 添加启动类。

1.创建maven项目

 

2.添加依赖,添加的框架有 spring-context:spring 上下⽂,还有 spring-beans:管理对
象的模块.

 

 3.刷新jar包

 

4.要添加的依赖,可以直接复制 

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

 

 5.创建启动类

 

 

 6.创建Bean

 

​​​​​​​

 

7.spring-config.xml 文件内容,可直接复制
 

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:content="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
</beans>

 

8.在创建好的项⽬中添加 Spring 配置⽂件 spring-config.xml,将此⽂件放到 resources 的根⽬录下,如下图所示:
 

 

 

 9.接下来,再将 User 对象注册到 Spring 中就可以,具体操作是在 <beans> 中添加如下配置:

 

 

 

 10. 获取Spring上下文对象(相当于获取spring容器了),指定spring的配置文件

 

 

 11.通过 Spring 上下⽂,获取某⼀个指定的 Bean 对象

 

 

 12.使用bean对象

 

 

 2.第二种获取spring上下文对象的方法BeanFactory

 

 

3. ApplicationContext VS BeanFactory

  1. 继承关系和功能⽅⾯来说:Spring 容器有两个顶级的接⼝:BeanFactory 和 ApplicationContext。其中 BeanFactory 提供了基础的访问容器的能⼒,⽽ ApplicationContext 属于 BeanFactory 的⼦类,它除了继承了 BeanFactory 的所有功能之外,它还拥有独特的特性,还添加了对国际化⽀持、资源访问⽀持、以及事件传播等⽅⾯的⽀持。
  2. 从性能⽅⾯来说:ApplicationContext 是⼀次性加载并初始化所有的 Bean 对象,⽽ BeanFactory是需要那个才去加载那个,因此更加轻量。
     

ClassPathXmlApplicationContext 属于 ApplicationContext 的⼦类,拥有ApplicationContext 的所有功能,是通过 xml 的配置来获取所有的 Bean 容器的

4.一个对象允许注入多次 

 

 

5. getBean()的使用方式

 

 方式二会报错的原因:

使用第二种方式, 只能注入一个对象!,使用第二种方式写法简便,但是如果spring中将一个类的对象注入多次就会报错。

推荐使用方式三 

6.总结

1. 操作容器之前,先要有容器,所以先要得到容器。
2. 存对象

  • 创建 Bean(普通类)。
  • 将 Bean 注册(配置)到 spring-confing.xml 中。

3. 取对象

  • 得到 Spring 上下⽂,并读取到 Spring 的配置⽂件。
  • 获取某⼀个 Bean 对象。
  •  使⽤ Bean 对象。

4.操作流程图

Spring Boot 源码学习】初识 SpringApplication
Huazie
11-12 1481
本篇带大家初步了解 Spring Boot 的启动 SpringApplication
Spring创建使用
buhuisuanfa的博客
04-14 1581
创建Spring项目a.创建Maven项目b.导入Spring-context依赖c.创建启动用于从Spring中获取Bean存储Beana.先创建Bean对象b.将Bean注册到(配置) 到spring-config.xml中3.取对象a.得到Spring上下去,读取Spring配置文件b.获取Bean对象c.使用Bean对象(根据实际需要)
Spring项目中,两个实用的工具(生成与映射文件、API自动生成
最新发布
2301_77053417的博客
09-20 957
一定复制下面的网址:http://127.0.0.1:13145/swagger-ui/index.html,并且修改端口号,最后启动项目,才能出现上面的效果。这个需要找到本地maven仓库里面存放关于mysql的jar包路径,也就是:本地存放jar的包路径(在maven学习阶段,也就是配置本地镜像时的知识点)注意点:这些是系统生成的,特别是xml跟原有的dao,不要去修改它,最好的方式就是另起接口。这一步工作量最大,需要该的地方最多,大家先复制好下面的文件,再按照步骤进行修改成自己项目中的配置。
Idea中快速找到springboot项目springcloud项目启动引导
m0_68201836的博客
02-15 4839
Idea中快速找到springboot项目springcloud项目启动引导,并在idea中打开
SpringBoot
panpanaa的博客
04-16 1314
Spring是为了简化java开发,SpringBoot是为了简化Spring程序开发,是Spring的一次伟大进步快速添加依赖不用在maven里面找了,直接在创建的时候勾选想要的依赖,不版心版本兼容性问题。内置web容器不用在本地下载一个tomcat进行部署打包,而是直接运行web容器自动装配。
Spring启动
heishuiloveyou的博客
03-15 666
等同于 @Configuration + @EnableAutoConfiguration + @ComponentScan ,会自动完成配置并扫描路径下所有包。Spring 需要定义调度程序 servlet ,映射和其他支持配置。@SpringBootApplication :作为程序入口,在创建 Spring Boot 项目时自动创建
Spring篇】Spring创建使用
m0_56361048的博客
02-17 1139
本文主要讲解了 如何创建 Spring项目,已经如何将Bean对象存放到 Spring和从Spring中来读到 Bean,从而使用Bean等相关操作
Spring】——Spring创建使用
冷兮雪的博客
06-03 4966
上期我们讲解了Spring是什么及Spring的核心特点,其中重点讲解了控制反转(IoC)和依赖注入(DI),下面我们通过示例代码来去更深刻了解这其中的含义。
Spring(一):Spring创建使用
weixin_67807492的博客
07-18 4993
List/Map -> 数据存储容器Tomcat -> Web 容器Spring 也是⼀个容器,Spring 是什么容器呢?Spring 是⼀个 IoC 容器IoC = Inversion of Control 翻译成中⽂是“控制反转”的意思,也就是说 Spring 是⼀个“控制反转”的容器,怎么理解这句话呢?控制(权)反转,指的是:对象的生命周期的控制权(原本属于程序员/代码片段控制),现在交给了Spring容器控制或者是IoC 容器控制。
spring security原理和机制 | Spring Boot 35
热门推荐
学Java,找哪吒
06-25 5万+
一、SpringSecurity 框架简介 Spring 是非常流行和成功的 Java 应用开发框架,Spring Security 正是 Spring 家族中的 成员。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方 案。 正如你可能知道的关于安全方面的两个主要区域是“认证”和“授权”(或者访问控 制),一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权 (Authorization)两个部分,这两点也是 Spring
启动Spring项目详细过程(小结)
08-25
主要介绍了启动Spring项目详细过程(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
java 使用 Swagger 创建一个Spring Boot 的 Web 服务
11-05
java 使用 Swagger 创建一个Spring Boot 的 Web 服务java 使用 Swagger 创建一个Spring Boot 的 Web 服务java 使用 Swagger 创建一个Spring Boot 的 Web 服务java 使用 Swagger 创建一个Spring Boot 的 Web 服务java...
Spring启动流程
m0_74391205的博客
09-13 155
Spring启动流程。
spring boot启动在哪个位置_一线互联网架构师解析SpringBoot启动流程
weixin_39922004的博客
11-22 537
由于SpringBoot是底层系统,以微服务形式对外暴露dubbo服务,所以本流程中SpringBoot不基于jetty或者tomcat等容器启动方式发布服务,而是以执行程序方式启动来发布(参考下图keepRunning方法)。 本文以调试一个实际的SpringBoot启动程序为例,参考流程中主要图,来分析其启动逻辑和自动化配置原理。总览: 上图为SpringBoot...
spring项目启动服务器找不到bean的解决问题
A-bing的博客
08-04 1万+
今天在配置springMVC项目框架,启动tomcat,然后我的一个对象注入失败,找不到bean,如下: Error creating bean with name 'userController': Injection of resource dependenci....... 解决办法如下: 这种问题我遇到2次: 1、提示我搭建项目使用的是原生dao层,结果是SQL文件里面namesp...
SpringBoot的启动的位置
有时间可以指导毕业设计,可以私聊我。一个热爱编程的smallCuteMonkey,可以私信我
06-25 1026
@SpringBootApplication 包含也三个主要的注解: @EnableAutoConfiguration @SpringBootConfiguration @ComponentScan 可以知道这个注解是一个复合注解,可以进行组件的扫描,@Controller,@Service,@Repository 这些注解都要被扫描才可以用,所以存放在controller目录,service层,和dao层的上一层就好。 注意:不可以直接存放在/main/java下 ...
SpringBoot 项目 指定启动
qq_38220837的博客
07-11 2460
解决 springboot框架 maven 打包的时候 ,由于测试 中存在 main方法,导致打包失败!
spring boot项目启动启动(@SpringBootApplication)的配置
天蝎尚雪的博客
03-18 1358
spring boot项目启动启动启动配置问题
Idea创建Spring项目图文教程
本篇文章将详细解析如何使用Idea创建一个Spring项目,以及Spring框架的核心概念和优势。 首先,我们来看一下Spring框架的基本介绍。Spring是一个轻量级的Java开发框架,它于2003年由Rod Johnson提出,旨在简化企业...
写文章

热门文章

  • LRUCache详解 8053
  • 软件开发流程 5514
  • 螺旋模型的优点与缺点 5037
  • 软件测试V模型 4179
  • Cookie 和 Session 详解 及实现用户登陆功能 3849

分类专栏

  • 测试开发工程师
  • 测试开发 46篇
  • 测试流程与测试用例设计 1篇
  • Pytest 测试框架与 Allure 测试报告 9篇
  • APP自动化测试 3篇
  • WEB自动化测试 6篇
  • 接口自动化测试 13篇
  • 性能测试 6篇
  • 测试开发技能训练
  • 持续集成持续交付Devops
  • Java开发工程师
  • JavaSE 65篇
  • JavaEE 63篇
  • SpringCloud 2篇
  • 数据结构 22篇
  • Linux 22篇
  • Git 2篇
  • MySQL 11篇
  • Redis 5篇
  • Elasticsearch 2篇
  • 计算机网络 5篇
  • Maven 2篇
  • protobuf 3篇
  • Docker 9篇
  • 设计模式 1篇
  • 前端开发工程师
  • HTML+CSS+JavaScript 23篇
  • VUE 19篇
  • React 8篇
  • TypeScript 1篇
  • Python开发工程师
  • Python 15篇
  • 机器学习
  • Processing 1篇
  • 嵌入式开发工程师
  • 计算机组成原理
  • 大数据开发工程师
  • Scala 7篇
  • 项目
  • 其他 49篇

最新评论

  • 黑马程序员——接口测试——day01——接口测试理论、HTTP协议、接口测试流程、接口文档解析

    普通网友: 优质好文,细节很到位!【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • 黑马程序员——Spring框架——day01

    人不走空: 文章很有用,感谢分享~

  • 黑马程序员——接口测试——day06——PyMySQL增删改查、工具类封装、ihrm删除接口

    weixin_55142282: 数据库密码不对呀

  • [尚硅谷React笔记]——第9章 ReactRouter6

    qq_66145016: 表情包

  • 黑马程序员——javase进阶——day07——日志框架、阶段项目

    雾锁深情目: 三个jar包,在哪搞的

最新文章

  • 黑马程序员——Spring框架——day11——redis基础
  • Processing入门教程
  • 黑马程序员——Spring框架——day10——linux高级
2024
06月 11篇
05月 4篇
04月 5篇
03月 11篇
02月 17篇
01月 28篇
2023年240篇
2022年107篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿瞒有我良计15

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家玻璃钢雕塑生成厂家白银抽象人物玻璃钢雕塑多少钱漯河不锈钢太湖石玻璃钢雕塑公司酒店玻璃钢雕塑设计厂家江西南昌玻璃钢雕塑深圳玻璃钢雕塑浮雕厂玻璃钢字母椅雕塑朝阳雕塑玻璃钢卡通江西景观玻璃钢雕塑价位普洱玻璃钢雕塑批发零售东莞玻璃钢鼠年雕塑厂家福建特色商场美陈订购深圳自发光动物玻璃钢雕塑供应商铜陵道路护栏玻璃钢花盆商场门型美陈用什么做的西藏方形玻璃钢花盆河北涞水玻璃钢雕塑淮北创意玻璃钢雕塑订做价格玻璃钢吉祥物雕塑品牌江西玻璃钢雕塑厂家性价比出众商场美陈艺术视频定制商场玻璃钢花盆玻璃钢海洋雕塑平台常州商场大型美陈濮阳玻璃钢景观雕塑滁州玻璃钢雕塑定做厂家兰州商场开业美陈商场美陈绿植墙台州多彩玻璃钢雕塑云南玻璃钢雕塑哪里好香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化