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

相关文章

Python实现终端清屏的几种方式详解

《Python实现终端清屏的几种方式详解》在使用Python进行终端交互式编程时,我们经常需要清空当前终端屏幕的内容,本文为大家整理了几种常见的实现方法,有需要的小伙伴可以参考下... 目录方法一:使用 `os` 模块调用系统命令方法二:使用 `subprocess` 模块执行命令方法三:打印多个换行符模拟

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录