欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > Spring项目创建流程及配置文件bean标签参数简介

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

2025/1/9 8:17:07 来源:https://blog.csdn.net/qq_43980232/article/details/145018517  浏览:    关键词:Spring项目创建流程及配置文件bean标签参数简介

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>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com