【Spring】Bean的配置

Spring项目bean基础配置 对于bean的配置中,主要有bean基础配置,bean的别名配置,bean的作用范围配置(重点),这三部分内容:1. bean基础配置(id与class);2. bean的name属性(别名配置);3. bean作用范围scope配置。 阅读详情

Bean的配置



基于XML文件的配置

之前的文章就是采用的这种方式,通过在配置文件<bean> 标签下设置类的全类名,来进行Bean的声明,实例的创建是通过反射在IOC容器中创建的,所以需要提供一个无参数的构造方法。
这里写图片描述

id是用来标识这个Bean的,是唯一的
这里的class我这么写,是因为为了方便直接在src目录下创建的HelloWorld类,没有包,所以HelloWorld就是它的全类名。

属性的注入

这里也进行了属性的注入。注入的方式一般有2种:
1. 设值注入
使用Bean的setter方法进行注入,是开发中最常用的注入方式。
2. 构造注入
使用构造方法进行注入。
注入方式可以参考这篇文章

这里就不进行讨论了,主要关注可注入的类型。
上面的HelloWorld类有一个类型为String的name属性,
这里写图片描述
我们在配置文件中可以直接使用property标签中的name,value属性就可以注入,HelloWorld例子可能表述的不太合适,我们重新举一个例子。

首先有一个Person类代表人类,具体定义如下:
这里写图片描述

在配置文件中做如下配置:
这里写图片描述

也可以把value写成标签的形式:
这里写图片描述

这样就声明成功了一个20岁才160的老王。让我们测试一下:
写个测试类:
这里写图片描述
运行一下:
这里写图片描述
可以看到成功地打印出了160的老王。

例如String和int、double等基本类型以及其封装类型 进行配置的时候,直接使用name、value进行设置就好,但是当遇到引用类型的时候呢,不用担心Spring同样可以为我们做到,接下来我们需要定义一个Hat类。
这里写图片描述

然后给Person添加一个Hat的引用,并添加setter方法,重写toString()方法。
这里写图片描述

然后重新去配置一个带帽子的老王:
首先要声明一个帽子Bean,然后再在老王属性配置中引用这个Bean。
这里写图片描述

测试一下:
这里写图片描述
成功的打印出了带小红帽的老王。

当然也可以把帽子作为内部Bean注入到老王的hat中。
这里写图片描述

注:内部Bean就没有必要写id了,因为只能在内部引用。
运行结果:
这里写图片描述

这样是不是感觉Spring很强大了,厉害的还在后面呢!

集合的注入

你使用value/ref的时候,只能设置或者引用单个的Bean,当你想要多个Bean怎么办呢?
比如老王想要很多的帽子,Spring为我们提供装配集合类型的功能,下面我们修改Person的属性域,修改setter方法和toString方法如下:
这里写图片描述

重新配置,再声明几顶帽子,然后使用list元素进行配置,具体如下:
这里写图片描述
运行成功:
这里写图片描述

除了<list>外,Spring还支持<set>、<map>、<props>等元素, 分别对应Java语言的Collection 中的List、Set、Map和Properties,(数组也用list,就是上面例子)使用方法都是一个道理,大家可以看书或者官方文档。
这里是链接:Spring Framework Reference Documentation
这是一个官方的例子:
这里写图片描述
上面的例子大多数采用的都是设值注入,至于构造注入是一个道理,这里就不在赘述,自己可以试一试。

空值的注入

这个比较特殊,也是为了特殊的需要(至少现在我没有遇到),配置如下:
这里写图片描述
还有空字符的注入:
这里写图片描述

官方描述:
这里写图片描述

特殊的字符

因为我们的配置文件是XML,尖括号属于特殊的字符,如果我们想要配置的属性中含有 < 我们可以使用<![CDATA[]]>
这里写图片描述

使用命名空间

XML写起来好像尖括号好多啊,没关系,Spring为我们提供了很多方便的命名空间,利用命名空间对配置文件进行重构:
这里写图片描述

明显比之前的配置文件简洁好多是吧。运行了下,然而报错了 →_→
这里写图片描述

通配符的匹配很全面, 但无法找到元素 ‘util:list’ 的声明

很奇怪的错误吧,哈哈,不慌,来阅读一下官方文档,找到了问题所在:
这里写图片描述
原来是少几行schema ,我们在配置文件中加入这两行运行一下:
这里写图片描述

成功运行:
这里写图片描述

在这里再贴一下官方的文档地址:Spring Framework Reference Documentation

基于注解的配置

还没有看到,以后来填坑。

【Spring】— Spring中Bean的配置、作用域 singleton是Spring容器默认的作用域,当Bean的作用域为singleton时,Spring容器就只会存在一个共享的Bean实例,并且所有对Bean的请求,只要id与该Bean的id属性相匹配,就会返回同一个Bean的实例。在Spring中,XML配置文件的根元素是beans,beans中可以包含多个bean子元素,每一个bean子元素定义了一个Bean,并描述了该Bean如何被装配到Spring容器中。从中可以看出,两次输出的结果相同,这说明Spring容器只创建了一个Scope类的实例。 阅读详情

相关推荐

水文模型大合集---SWAT模型、VIC模型、HEC-HMS模型、HSPF模型、FVCOM模型、Delft3D模型、HYPE模型.......

1.1 面源污染概要1.2 SWAT模型及应用1.3 SWAT模型原理1.4 SWAT模型输入文件1.5 ArcGIS与SWAT关系。

jwwkyjspt的博客 4359

Spring 配置文件中 Bean 的 property 属性使用示例

本文对 Spring 中 Bean 元素的 property 属性做了简单地描述,并且举出了几个该属性的使用示例,以此记录,供人供己查阅,如有错误之处,欢迎指正。原创文章,转载请注明出处。

Hin 的博客 3万+

Julia Ann老司机管理系统

https://content.badgirlsusa.com/Julia_Ann-Sexy_Julia_Ann_Fucks_A_Lil_Elf's_Big_Cock_/Julia-Ann-Naughty-America-%E6%80%A7%E6%84%9F%E7%9A%84%E8%A3%98%E8%8E%89%E5%A9%AD%E5%AE%89%E4%BA%82%E6%90%9E-lil-%E7%B2%BE%E9%9D%88%E7%9A%84%E5%A4%A7%E5%85%AC%E9%9B%9E-2020

www_oracle_com的博客 22万+

Spring(三)- Spring中Bean的配置

Spring(三)- Spring中Bean的配置

及时当勉励,岁月不待人 4152

一种基于因果干预的少样本学习的故障诊断模型

本文提出CIRNet,一种融合元学习与因果干预的少样本故障诊断框架。针对传统方法易学习伪相关特征的问题,CIRNet通过构建结构因果模型,采用类级和特征级双调整策略消除先验知识干扰。实验在多个轴承/齿轮数据集上验证其有效性,在跨组件任务中准确率最高达93.41%,特征可视化显示更好的类可分性。相比现有方法,CIRNet显著提升了模型泛化能力和可解释性。

hasakie的博客 955

Kali使用Metasploit内、外网渗透windows系统

Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。当H.D. Moore在2003年发布Metasploit时,计算机安全状况也被永久性地改变了。 一、(内网渗透)内网英文缩写WAN;内网又称局域网 局域网的覆盖范围一般是方圆几千米之内,其具备的安装便捷、成本节约、扩展方便等特点使其在各类办公室内运用广泛。局域网可以实现文件管理、应用软件共享、打印机共享等功能,在使用过程当中,通过维护局域网网...

QQ670663的博客 2万+

Spring中如何配置bean???

由于每个程序员的命名习惯不同,所以在applicationContext.xml文件中 可以用name 属性 给id起别名,可以起多个别名,多个别名之间可以用空格或者分号或者逗号分开。其中起的id别名权限和真正的id一模一样。最终也可以正常运行。

qq_65142821的博客 285

基于FPGA 外置qspi Flash的读写

fpga上实现flash读写代码

weixin_43498765的博客 4954

Spring Bean的配置详解

Spring Bean的配置详解

qq_61313896的博客 2113

探秘RK3588:OverlayFS挂载与固件升级全攻略

本文围绕RK3588芯片的OverlayFS文件系统挂载与固件升级技术展开详细阐述。首先介绍了RK3588芯片的卓越性能及其在嵌入式领域的广泛应用,重点分析了OverlayFS文件系统的分层架构原理及其在RK3588设备上的挂载方法,包括详细的挂载步骤、常见问题解决方案。随后详细阐述了RK3588设备在Windows和Linux环境下的固件升级方案,涵盖升级准备、具体操作流程及故障处理等内容。最后通过智能安防监控设备的实际案例,展示了OverlayFS挂载与固件升级技术的应用效果。文章为嵌入式开发者提供了全

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 286

Yolov5自定义图片训练测试及模型调优(详细过程)

Yolov5自定义数据训练及测试1. 图像数据获取、标注2. 数据集划分及准备3. 配置训练参数,准备训练:3.1 修改data/训练配置xxx.yaml文件:3.2 修改models模型配置xxx.yaml文件4. 开始训练5. 测试训练后的模型: 1. 图像数据获取、标注 如果自定义训练自己的数据集,首先需要数据标注,至于数据来源可以是下载现有的开发数据集、拍照、爬虫等等。 如果是拍照、爬虫等获取的数据图片,需要进行数据标注,这个过程可以使用工具来做,但也需要一些手动操作 。。并且图片越多越好,如果

HowieXue 薛永浩的博客 10万+

Spring Bean配置文件格式讲解

context:property-placeholder/>标签会优先加载系统的环境变量,然后再加载properties配置文件中的键值对;当配置文件中的某键值对的键和系统的环境变量重名时,会将系统中的环境变量传给XML配置文件;Properties 配置文件主要以 key=value 键值对的形式存在,只能赋值,不能进行其他操作,适用于简单的属性配置。由 Spring IoC 容器管理的对象称为 Bean,Bean 根据 Spring 配置文件中的信息创建。加载properties配置文件。

Happy_lifer的博客 823

基于libVLC的视频播放器之四:直接使用libVLC

一.效果 播放本地文件 播放网络url:rtsp://3.84.6.190/vod/mp4:BigBuckBunny_115k.mov 二.实现 既然有VLC-Qt,为什么还要直接调用libVLC呢,因为直接调用会加深对整个播放流程的理解,方便后面修改VLC-Qt源码。 注意事项: 1.编译报错:error C2065: “libvlc_media_read_cb”: 未声明的标识符。修改如下: 2.libvlc_new(0, nullptr)返回null 将plugins

草上爬的博客 5049

Spring配置Bean

但是在A对象中,我们可以发现仍然有B对象进行了相关的包括,这样的话,B对象的本身也会存在着属于自己的属性,然而当我们的A对象想在自己的对象容器中把B的属性进行包含,这样就叫做级联属性赋值。但是我们所产生的是一个动态的工厂时,我们倘若只有一个工厂的时候,他所调用的确实时两个相同的值,但是当我们去创建两个动态工厂去分别调用两个不同的值的时候,这两个值所产生的就是两个不同的。对于静态工厂的时候,当我们产生了两个工厂的时候,他们所产生的相关的值仍然就是相同的,因为静态的类加载只会去调用一个。

开源驱动,创造价值;坦诚清晰,快速失败;让复杂可计算。 1457

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Spring系列二:基于XML配置bean 上

Spring系列二: 基于注解配置bean

你好, 我在学java的博客 3535

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

spring配置bean

使用静态工厂方法创建bean实例时,class属性也必须指定,此时的class属性并不是指定Bean实例的实现类,而是静态工厂类,Spring通过该属性知道由哪个工厂类来创建Bean实例,还可以使用factory-method属性来指定静态工厂方法,Spring将调用静态工厂方法返回一个Bean实例,静态工厂方法需要参数的话,使用。@Resource注解可以根据类型注入,也可以根据名称注入,若使用的byName,需要提供bean的名称,如果不提供该bean的名称,则自动使用属性的名称进行匹配。

Lxn2zh的博客 897

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Spring Bean 配置

- 定义 UserService 类为 Bean,id 为唯一标识 -->id:Bean 的唯一名称,通过获取。class:Bean 的全限定类名,Spring 通过反射创建实例。-- 声明 util 命名空间 -->-- 定义可复用的 List -->-- 注入到 Bean 中 --></bean>场景推荐方式传统项目、复杂配置XML + 注解混合现代应用、快速开发注解 + Java 配置类需要动态生成 BeanJava 配置类简单依赖、快速原型。

m0_75107803的博客 1114

spring中bean的配置详解

目录 1 配置Bean概述 1.1 配置文件 1.2 示例bean 1.3 bean框架 2 bean配置 2.1 基于xml配置Bean Bean基本配置 依赖注入 2.2 使用注解定义Bean 使用注解配置信息启动spring容器 2.3 基于java类提供Bean定义 2.4不同配置方式比较 3 Bean注入 3.1 在xml文件中配置依赖注入 属性注入 构造方法注入 工厂方法注入 3.2 使用注解的方式注入 使用@Autowired进行自动注入 使用...

mocas_wang的博客 6470

Spring bean配置和bean注入

Bean 定义 被称作 bean 的对象是构成应用程序的支柱也是由 Spring IOC容器管理的。bean 是一个被实例化,组装,并通过 Spring IOC 容器所管理的对象。这些 bean 是由用容器提供的配置元数据创建的,例如:在 XML 的表单中的 定义。 Bean 与 Spring 容器的关系 Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的B...

Hern(宋兆恒) 593

Spring Bean的配置方式

在配置前先了解bean元素的相关属性: 作为 Spring 核心机制的依赖注入,改变了传统的编程习惯,对组件的实例化不再由应用程序完成,转而交由Spring 容器完成,在需要时注入应用程序中,从而对组件之间依赖关系进行了解耦。这一切都离不开Spring 配置文件中使用的元素。 Spring 容器可以被看作一个大工厂,而 Spring 容器中的 Bean 就相当于该工厂的产品。如果希望 这个大工厂能够生产和管理 Bean,这时则需要告诉容器需要哪些 Bean,以及需要以何种方式将这些 Bean 装配到一起 常

weixin_46402513的博客 927

spring 的 bean 配置的几种方式

Spring 提供了多种配置BeanXML 配置:传统的方式,适用于对 XML 更熟悉的开发者,或者在大型项目中集中管理配置。基于注解的配置:更加简洁和直观,适用于现代 Java 开发,减少了冗长的 XML 配置文件。基于 Java 配置的方式:提供了类型安全和更强的灵活性,适合需要复杂配置逻辑的场景。Spring Boot 自动配置:大大简化了 Spring 应用的配置过程,遵循“约定优于配置”原则,非常适合快速开发。

Flying_Fish_roe的博客 2084

spring Bean配置及使用

<?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:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springfr...

liangmaxmin的博客 245

Spring bean配置细节

<?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:util="http://www.springfra...

weixin_39996256的博客 122

Spring Bean的配置

二、Bean的配置 配置Bean就是告诉Spring的IOC容器将要去管理的对象 1. 配置bean的方式 1.1 传统的XML配置方式 Person.java public class Person { private String name; private int age; private double money; public String getName() { return name; } public void setNam

奔腾游子 765

Spring如何配置bean属性

在Spring的bean配置文件中,每个bean必须有一个唯一标识的名称或者id,以及一个完全限定的类名,用来让Ioc容器对其进行实例化。

GISXX 4715

Spring中bean的配置

一下是bean配置中要用到的实体的类 package zhang.spring.enities; public class Car { private String brand; private double price; private String color; public String getBrand() { return brand; } public void set...

qq_43257103的博客 321
上一篇: 【Spring】IntelliJ IDEA搭建Spring环境
下一篇: 【Java】Java中两个float计算得出错误结果
cflys
博客等级 码龄12年 113粉丝 41原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值