手把手教你搭建你的第 1 个Spring 项目!

1、创建普通的Maven项目

Spring项目创建分三个步骤:

  1. 创建meven项目

  2. 添加Spring框架支持

  3. 添加启动类

第一步:

第二步:添加框架:

在pom.xml里添加两个依赖

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
 
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>

1. 第一个依赖配置块:

  • groupId:指定了依赖的组织/项目的唯一标识符,这里是org.springframework,表示是 Spring 框架的官方组织。

  •  artifactId: 指定了依赖项目的名称,这里是spring-context,表示 Spring 框架的上下文模块。

  •    version: 指定了依赖项目的版本号,这里是5.2.3.RELEASE,表示所使用的 Spring 框架的版本号。

2. 第二个依赖配置块:

  •  groupId`: 依然是org.springframework,表示是 Spring 框架的官方组织。

  •    artifactId:这次是spring-beans,表示 Spring 框架的 beans 模块,负责管理bean的加载、注册和生命周期。

  • version: 同样是`5.2.3.RELEASE`版本。

依赖的示例图:

2、创建实体类

在子项目的java目录下新建一个com.atangbiji.pojo包(用于存放我们自己编写的实体类),并在该包下新建一个Hello实体类。

User.java文件:

public class User {
    private int id;
    private String name;
 
    public int getId() {
        return id;
    }
 
    public void setId(int id) {
        this.id = id;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
}

3、创建Beans的XML配置文件(重点)

我们将Bean交给Spring保管!因此我们需要在在resources资源目录下创建一个 Spring 配置⽂件spring-config.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 http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
       <!--bean就是那些组成我们应用程序的Java对象,由Spring中的IOC容器创建、组装和管理-->
    <!--bean标签用于创建Java对象。其中:id:bean的唯一标识;class:bean所对应对象的全限定类名-->
    <bean id = 'user' class =' com.java.demo.User'></bean>
</beans>

我们在配置文件中使用<Bean>标签,将类注入到Spring当中

注:

  • XML配置文件的名称可以自定义,官方建议使用applicationContext.xml

  • Spring给8种基本类型和String类型的成员变量赋值时用value

  • Spring给引用类型的成员变量赋值时用ref

4、测试

在子项目的src/test/java目录下,新建一个MyTest测试类,用于测试Spring

MyTest.java文件

import com.atangbiji.pojo.Hello;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
​
public class MyTest {
    @Test
    public void test(){
        //解析beans.xml文件,IOC容器生成并管理相应的Bean对象
       ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
​
        //通过Spring的上下文对象,从IOC容器中获取Bean对象
     User user  = context.getBean("user", User.class);
        //调用Bean对象的方法
        System.out.println(user.toString());
    }
}

注:ClassPathXmlApplicationContext是实现ApplicationContext接口的类,扫描配置文件(名字一定要一模一样),获取Spring容器的Bean对象。

扩展:通过BeanFactory 获取beans

BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));


获取bean后的执行代码:

public class APP {
    public static void main(String[] args) {
        BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
        User user  = beanFactory.getBean("user",User.class);
    }
}

BeanFactory和ApplicationContex 的区别:

功能上的区别: 

  • ApplicationContext 在初始化容器时就会实例化所有的 Bean,提前进行依赖注入、初始化和单例模式的创建等操作,因此启动时间相对较长,但对于用户来说,获取 Bean 时速度较快。

  • BeanFactory 在初始化容器时不会实例化所有的 Bean,而是在获取 Bean 时才进行实例化。因此启动时间较短,但是在获取 Bean 时可能会稍微慢一些。

场景上:

  • 如果应用程序需要提前加载所有的 Bean,并且对启动时间没有特别高的要求,可以选择使用 ApplicationContext

  • 如果应用程序的启动时间较为重要,而且有些 Bean 可能很少被使用,可以选择使用 BeanFactory

5.总结

  1. Spring项目的创建     

    • 创建一个Maven项目

    • 添加Spring框架依赖 【spring-context】

    • 添加启动类 【功能:为后面从Spring容器中读取Bean做准备】

  2. 存储Bean

    1. 创建Bean对象

    2. 将Bean注册到Spring容器中 【spring-config.xml配置文件】

  3. 读取Bean

    1. 得到Spring 对象【ApplicationContext,BeanFactory】

    2. 通过Spring 对象的 getBean() 方法获取到Bean对象 【DI操作】

    3. 通过Spring 对象的 getBean() 方法获取到Bean对象 【DI操作】

JAVA学习课堂

博主是一名程序猿,平时会积累自己的学习经验,java相关技术、SSM、spring全家桶,微服务、MySQL、集群、分布式、VUE等相关知识,面试相关知识。 一起努力。一起加油,惊艳所有人。

公众号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值