2、Spring4之Bean的两种配置方式

2024-05-23 07:18

本文主要是介绍2、Spring4之Bean的两种配置方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. Bean 属性的配置方式

     1). setter 方法注入(最常用的方式)

          ①. 在 Bean 中为属性提供 setter 方法:

          public void setBrand(String brand) {
               this.brand = brand;
          }

          public void setCorp(String corp) {
               this.corp = corp;
          }

          public void setPrice(float price) {
               this.price = price;
          }

          public void setMaxSpeed(int maxSpeed) {
               this.maxSpeed = maxSpeed;
          }

        ②. 在配置文件中使用 property 注入属性值

          <bean id="car" class="com.atguigu.spring.ioc.Car">
               <property name="brand" value="Audi"></property>
               <property name="corp" value="一汽"></property>
               <property name="maxSpeed" value="200"></property>
               <property name="price" value="200000"></property>
          </bean>

     2). 构造器注入:

          ①. bean 中提供构造器:

          public Car(String brand, String corp, int price, int maxSpeed) {
               super();
               this.brand = brand;
               this.corp = corp;
               this.price = price;
               this.maxSpeed = maxSpeed;
          }

          public Car(String brand, String corp, float price) {
               super();
               this.brand = brand;
               this.corp = corp;
               this.price = price;
          }

          public Car(String brand, String corp, int maxSpeed) {
               super();
               this.brand = brand;
               this.corp = corp;
               this.maxSpeed = maxSpeed;
          }

          ②. 配置文件中使用 constructor-arg 节点配置使用构造器注入属性值

          <bean id="car2" class="com.atguigu.spring.ioc.Car">
               <constructor-arg value="Ford"></constructor-arg>
               <constructor-arg value="ChangAn"></constructor-arg>
               <constructor-arg value="250000"></constructor-arg>
               <constructor-arg value="190"/>
          </bean>

          ③. 注意:对于重载的构造器可以通过参数的类型来匹配对应的构造器


          <bean id="car3" class="com.atguigu.spring.ioc.Car">
               <constructor-arg value="Buike"></constructor-arg>
               <constructor-arg value="ShanghaiTongYong"></constructor-arg>
               <constructor-arg value="180000"></constructor-arg>
          </bean>

          <!-- 
               因为有重载的构造器:
               public Car(String brand, String corp, float price)
               public Car(String brand, String corp, int maxSpeed)
        所以必须指定使用哪一个构造器来初始化属性值. 可以使用构造器参数的类型来选择需要的构造器!
          -->

          解决办法
          <bean id="car4" class="com.atguigu.spring.ioc.Car">
               <constructor-arg value="Nissan"></constructor-arg>
               <constructor-arg value="Zhengzhou"></constructor-arg>
               <constructor-arg value="210" type="int"></constructor-arg>
          </bean>

这篇关于2、Spring4之Bean的两种配置方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/996181

相关文章

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties