【关于Spring那些事】——与君初相识

举报
郭尕 发表于 2022/05/27 21:31:47 2022/05/27
【摘要】 第一个Spring程序Spring是一个轻量级开源框架,由一个叫Rod Johnson的程序员在 2002 年提出并创建。 1.创建maven工程 2.添加Spring依赖在maven项目的pom.xml文件中添加一下代码<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</...

第一个Spring程序

Spring是一个轻量级开源框架,由一个叫Rod Johnson的程序员在 2002 年提出并创建。

1.创建maven工程

在这里插入图片描述

2.添加Spring依赖

在maven项目的pom.xml文件中添加一下代码

<dependency>
   <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.18</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>5.3.18</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>5.3.18</version>
</dependency>

3.创建Spring配置文件

在Resources目录下创建applicationContext.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
        https://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="..." class="...">  
        <!-- collaborators and configuration for this bean go here -->
    </bean>

    <bean id="..." class="...">
        <!-- collaborators and configuration for this bean go here -->
    </bean>

    <!-- more bean definitions go here -->

</beans>

4.创建实体类

public class Student {

    private String id;
    private String name;
    private String sex;
    private int age;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", age=" + age +
                '}';
    }
}

5.配置applicationContext.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
        https://www.springframework.org/schema/beans/spring-beans.xsd">
    <!--将指定类配置给Spring,创建Bean实例-->
    <bean id="student" class="com.gyh.ioc.pojo.Student"></bean>

</beans>

6.测试

public class Test {
    public static void main(String[] args) {
        //初始化Spring容器并加载配置文件
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        //通过getBean方法获取指定的Bean,获取之后需要进行强制类型转换
        Student student = (Student) context.getBean("student");
        System.out.println(student);
    }
}

运行结果:
在这里插入图片描述
这里可以看到,我们没有使用new关键字来创建对象,而是通过Spring成功获取了Student的实现类对象,这就是SpringIoC容器的工作机制。

通过配置文件给对象的属性赋值

<bean id="student" class="com.gyh.ioc.pojo.Student">
        <property name="id" value="1001"/>
        <property name="name" value="Spring"/>
        <property name="sex" value=""/>
        <property name="age" value="18"/>
    </bean>
  • 运行结果
    在这里插入图片描述

因此我们不仅可以通过配置文件创建实现类的对象,还可以给对象的属性赋值。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。