【浅学Java】Spring的创建和使用

发布于:2022-11-07 ⋅ 阅读:(433) ⋅ 点赞:(0)

1. 创建 Spring 项⽬

1.1 创建一个普通的maven项目

在这里插入图片描述

在这里插入图片描述

1.2 添加Spring框架支持(spring-context、spring-beans)

在这里插入图片描述

<dependencies>
        <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>
    </dependencies>

1.3 添加启动类

在Java目录下添加,启动类的名字不固定,注意使用大驼峰
在这里插入图片描述

2. 存储Bean对象

2.1 创建Bean(即创建对象)

在这里插入图片描述

2.1 将Bean注册到容器

在这里插入图片描述

<?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">
    <bean id="user" class="com.myclass.User"></bean>
</beans>

3. 获取并使用对象

基本流程

获取并使⽤ Bean 对象,分为以下 3 步:

  1. 得到 Spring 上下⽂对象,因为对象都交给 Spring 管理了,所以获取对象要从 Spring 中获取,那么
    就得先得到 Spring 的上下⽂。
  2. 通过 Spring 上下⽂,获取某⼀个指定的 Bean 对象。
  3. 使⽤ Bean 对象。
public class App {
    public static void main(String[] args) {
        //1.获取Spring上下文对象
        ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
        //2.获取某个bean对象
        User user = (User)context.getBean("user");
        //3.使用bean对象
        user.sayHi();
    }
}

获取Spring上下文的两种方式

  1. 使用ApplicationContext 获取Spring上下文
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
  1. 使用BeanFactory 说去Spring上下文
BeanFactory factory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));

ApplicationContext 和 BeanFactory 的效果是一样的,ApplicationContext 属于是 BeanFactory 的子类,他们有如下区别:

  1. 继承关系和功能⽅⾯来说:⽽ ApplicationContext 属于 BeanFactory 的⼦类,它除了继承了 BeanFactory 的所有功能之外,它还拥有独特的特性,还添加了对国际化⽀持、资源访问⽀持、以及事件传播等⽅⾯的⽀持。
  2. 从性能⽅⾯来说:ApplicationContext 是⼀次性加载并初始化所有的 Bean 对象,⽽ BeanFactory是需要那个才去加载那个,因此更加轻量,即ApplicationContext 属于是饿汉模式,BeanFactory属于是懒汉模式。

获取Bean对象的方式

  1. 通过id字符串来获取
User user = (User)context.getBean("user");
  1. 通过类名来获取
User user = context.getBean(User.class);
  1. 通过 id 和类名来获取(建议使用)
User user = context.getBean("user", User.class);

注意:
在这里插入图片描述

当一个类被注册到Spring中两次时,就不能使用第二种方式了,因为通过User.class是不能确定是两个对象中的哪一个。

因此建议使用第三种方式来获取类。

4. 操作总结

在这里插入图片描述

  1. 创建Spring对象
  1. 创建一个普通的maven项目
  2. 引入Spring相关的依赖
  3. 添加启动类
  1. 存储Bean对象
  1. 创建Bean对象
  2. 将创建好的对象注册到Spring容器中
  1. 使用并获取对象
  1. 获取Spring上下文
  2. 获取指定bean对象
  3. 使用Bean对象
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到