Spring如何给属性赋值?

简介: Spring如何给属性赋值?

spring提供了两种给属性赋值的方式

  • 1.通过属性的set方法
  • 2.通过有参构造

1. 通过属性的set方法 ,给属性赋值

1.1 属性是基本类型(包装类) + String (很重要)

< property name=”属性名” value=”给属性赋的值”/>

 <bean id="p1" class="com.macw.entity.Person" scope="singleton">
              <!--
                  使用property标签
                  情况1:通过属性的set方法给属性赋值,属性是基本类型或者String类型
                        name="类中的属性名"  要求:生成set方法
                        value="给属性赋的值"
              -->
              <property name="id" value="10"/>
              <property name="name" value="张三"/>
   </beans>

1.2 属性是自定义对象类型 (重要)

< property name=”属性名” ref=””/>

ref:references(引用)

如图所示:

Spring 分别给数组、List、Set、Map、Properties赋值:

如下:

        <!--
                  给List、Set、Map、Properties属性赋值
              -->
              <property name="hobby">
                     <list>
                            <value>吸烟</value>
                            <value>喝酒</value>
                            <value>烫头</value>
                     </list>
              </property>
              <property name="phones">
                     <set>
                            <value>11111</value>
                            <value>22222</value>
                            <value>33333</value>
                     </set>
              </property>
              <property name="map1">
                     <map>
                            <entry key="a1" value="哈哈"></entry>
                            <entry key="a2" value="呵呵"></entry>
                            <!--
                                由于Map的key,value可以是object类型,所以entry标签提供了key-ref和value-ref
                                如果在类中map的类型是: private  Map<String,Address> map1;   .
                                那么给map存储的数据的时候就不能用value了,要用value-ref指向一个对象
                            -->
                            <!--<entry key="a2" value-ref="address"></entry>-->
                     </map>
              </property>
              <property name="prop">
                     <props>
                            <prop key="x1">张三</prop>
                            <prop key="x2">李四</prop>
                     </props>
              </property>
       </bean>

2. 通过有参构造方法给属性赋值 (了解)

 <bean id="address" class="com.macw.entity.Address">
              <!--
       通过有参构造给属性赋值  index代表有参构造方法的第几个参数,默认是从0开始
              -->
              <constructor-arg index="0" value="111"></constructor-arg>
              <constructor-arg index="1" value="河南郑州"></constructor-arg>
              <!--   <property name="id" value="111"></property>
                  <property name="receiveName" value="河南郑州"></property>
              -->
       </bean>
目录
相关文章
|
4月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
5月前
|
Java 测试技术 数据库
Spring Boot中的项目属性配置
本节课主要讲解了 Spring Boot 中如何在业务代码中读取相关配置,包括单一配置和多个配置项,在微服务中,这种情况非常常见,往往会有很多其他微服务需要调用,所以封装一个配置类来接收这些配置是个很好的处理方式。除此之外,例如数据库相关的连接参数等等,也可以放到一个配置类中,其他遇到类似的场景,都可以这么处理。最后介绍了开发环境和生产环境配置的快速切换方式,省去了项目部署时,诸多配置信息的修改。
|
6月前
|
XML druid Java
Spring5系列学习文章分享---第二篇(IOC的bean管理factory+Bean作用域与生命周期+自动装配+基于注解管理+外部属性管理之druid)
Spring5系列学习文章分享---第二篇(IOC的bean管理factory+Bean作用域与生命周期+自动装配+基于注解管理+外部属性管理之druid)
69 0
|
4月前
|
Java Spring 开发者
Spring 框架配置属性绑定大比拼:@Value 与 @ConfigurationProperties,谁才是真正的王者?
【8月更文挑战第31天】Spring 框架提供 `@Value` 和 `@ConfigurationProperties` 两种配置属性绑定方式。`@Value` 简单直接,适用于简单场景,但处理复杂配置时略显不足。`@ConfigurationProperties` 则以类级别绑定配置,简化代码并更好组织配置信息。本文通过示例对比两者特点,帮助开发者根据具体需求选择合适的绑定方式,实现高效且易维护的配置管理。
60 0
|
4月前
|
缓存 Java 数据库连接
Spring Boot 资源文件属性配置,紧跟技术热点,为你的应用注入灵动活力!
【8月更文挑战第29天】在Spring Boot开发中,资源文件属性配置至关重要,它让开发者能灵活定制应用行为而不改动代码,极大提升了可维护性和扩展性。Spring Boot支持多种配置文件类型,如`application.properties`和`application.yml`,分别位于项目的resources目录下。`.properties`文件采用键值对形式,而`yml`文件则具有更清晰的层次结构,适合复杂配置。此外,Spring Boot还支持占位符引用和其他外部来源的属性值,便于不同环境下覆盖默认配置。通过合理配置,应用能快速适应各种环境与需求变化。
52 0
|
6月前
|
运维 Java 测试技术
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
49 3
|
6月前
|
运维 Java 关系型数据库
Spring运维之boot项目bean属性的绑定读取与校验
Spring运维之boot项目bean属性的绑定读取与校验
57 2
|
6月前
|
XML 运维 Java
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
57 1
|
7月前
|
XML Java 数据格式
Spring 属性注入方式
Spring 属性注入方式
33 2
|
7月前
|
Java 数据库连接 数据库
Spring事务简介,事务角色,事务属性
Spring事务简介,事务角色,事务属性