当前位置: 首页 > news >正文

Spring项目创建流程及配置文件bean标签参数简介

Spring文档根目录——里面可以找到所有版本

1. 项目搭建流程

1. pom.xml中引入依赖Spring-webMVC

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.18</version></dependency>

2.创建Spring配置文件 – applicationContext.xml

在resoures下创建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"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"></beans>

创建完毕后点击右上角的 configure application context 再选择create new application context… 。在弹出的弹窗里直接点击确定
在这里插入图片描述

3.创建测试用的类

Hello.java

package com.zbt.ioc.dto;/*** @author* @createAt 2025/1/8 21:07*/public class Hello {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}public void show(){System.out.println("Hello "+name);}
}

4.配置文件中配置类

<!-- 使用Spring来创建对象  在Spring中这些对象统称为Bean --><bean id="hello" class="com.zbt.ioc.dto.Hello" name="helloOtherName"><property name="name" value="Spring"/></bean>

5. 编写测试类

HelloSpring.java

package com.zbt.ioc.controller;import com.zbt.ioc.dto.Hello;
import org.springframework.context.support.ClassPathXmlApplicationContext;/*** @author* @createAt 2025/1/8 21:00*/public class HelloSpring {public static void main(String[] args) {//通过加载配置文件 获取Spring的上下文对象ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");//我们的对象都在Spring中管理了,我们要使用的时候  直接去容器中取出来就可以了/*<bean id="hello" class="com.zbt.ioc.dto.Hello" name="helloOtherName"><property name="name" value="Spring"/></bean>相当于自动帮我们new 了 一个Hello对象  id 为变量名  class为要new 的对象的路径 name为别名,可以通过逗号分隔取多个别名  context.getBean()通过别名也能取到对象其中 property 相当于 给对象的属性赋了一个值 name为属性名  value为属性值(通过属性的set方法注入了属性值)思考:对象是由Spring创建的 属性也是Spring赋值的  这个过程就叫做控制反转*///通过 id 取Hello hello = (Hello)context.getBean("hello");hello.show();//通过 别名 取Hello helloOtherName = (Hello)context.getBean("helloOtherName");helloOtherName.show();}
}

运行结果
在这里插入图片描述

2.bean标签简介

        <bean id="hello" class="com.zbt.ioc.dto.Hello" name="helloOtherName"><property name="name" value="Spring"/></bean>

这段配置文件相当于自动帮我们new 了 一个Hello对象 ,并将对象的name属性赋值为Spring
其中:
id :为变量名
class:为要new 的对象的路径
name:为别名,可以通过逗号分隔取多个别名 context.getBean()通过别名也能取到对象
property: 相当于 给对象的属性赋了一个值 (name:为属性名 ;value:为属性值(通过属性的set方法注入了属性值); ref:为引用Spring中已经注入的类的id)

思考:
对象是由Spring创建的
属性也是Spring赋值的
这个过程就叫做控制反转(IOC)

3.Spring IOC对象创建方式

默认为调用实体类的无参构造方法
注意:如果没有无参构造 且 未通过constructor-arg标签指定有参构造则会报错

通过constructor-arg标签指定有参构造创建对象
共有三种方式:
1. 通过下标给构造器传参数(这里的下标是指构造函数的第几个参数)
2. 通过参数类型匹配给构造器传参数 不推荐使用,如果构造器有多个类型相同的参数就会无法匹配
3. 直接通过参数名匹配给构造器传参数 推荐使用

<bean id="hello" class="com.zbt.ioc.dto.Hello" name="helloOtherName"><constructor-arg index="0" value="第一个参数"/><constructor-arg type="java.lang.String" value="给String类型的参数赋值"/><constructor-arg name="name" value="给属性name赋值"/></bean>
http://www.lryc.cn/news/517975.html

相关文章:

  • reactor中的并发
  • 太速科技-418-基于AD9361 +ZYNQ7020 的软件无线电 SDR 套件
  • 监控易:一体化智能运维的扩展性优势深度解析
  • 朴素贝叶斯算法:从生活到数学的完整解析
  • Echarts的认识和基本用法
  • Linux文件系统的安全保障---Overlayroot!
  • 【Linux 之一 】Linux常用命令汇总
  • 【线性代数】通俗理解特征向量与特征值
  • Unity 热更新基础知识
  • 安全基础-互联网技术基础
  • 深度学习从入门到实战——卷积神经网络原理解析及其应用
  • React快速上手到项目实战总篇
  • HTMLHTML5革命:构建现代网页的终极指南 - 0. 课程目录设计
  • ffplay 命令行 从视频第N帧开始读取 ffmpeg 命令行 提取第N帧图片
  • Spring AMQP-保证消费者消息的可靠性
  • Linux(Centos 7.6)命令详解:mkdir
  • 在K8S上部署OceanBase的最佳实践
  • IDEA中Maven依赖包导入失败报红的潜在原因
  • 【计算机网络】课程 实验五 静态路由配置
  • 基于单片机的数字气压计设计
  • 【Docker项目实战】使用Docker部署Typemill轻量级平面文件CMS
  • react ts 定义基本类型,组件通过ref调用时类型提示
  • 二十三种设计模式-原型模式
  • 提升汽车金融租赁系统的效率与风险管理策略探讨
  • Spring Framework 5.3.x源码构建 (jdk-1.8, gradle 7.5.1, idea2024.3)
  • leetcode 2241. 设计一个 ATM 机器 中等
  • IO模型与NIO基础
  • 上门按摩系统架构与功能分析
  • ubuntu安装ssh9.2
  • linux wsl配置 redis远程连接