Spring的创建和使用

Spring的创建和使用

  • 创建Spring项目
      • 创建一个Maven项目
      • 添加Spring框架支持
      • 添加启动类
  • 存储Bean对象
      • 创建Bean
      • 将Bean注册到容器
  • 获取并使用Bean对象
    • 创建Spring上下文
      • ApplicationContext与BeanFactory的区别
    • 获取指定的Bean对象
    • 使用Bean
  • 总结

创建Spring项目

使用Maven方式创建一个Spring项目,总共分为三个步骤。

  1. 创建普通Maven项目
  2. 添加Spring框架支持
  3. 添加启动类

创建一个Maven项目

Spring的创建和使用_第1张图片

添加Spring框架支持

在pom.xml 中添加Spring框架支持。

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

spring-context:spring上下文
spring-beans:管理对象模块

添加启动类

在创建好的项目Java文件夹下创建一个启动类包含main方法。

public class App {
  public static void main(String[] args) {
  
  }
}

存储Bean对象

在Java中对象也叫Bean。
存储Bean对象分为两步:

  1. 获取Bean对象
  2. 将Bean对象注册到Spring容器中

创建Bean

在Java文件夹下创建一个User类,添加一个Hi方法。

public class User {
    public String Hi(String name) {
        return name+"hi!";
    }
}

将Bean注册到容器

在创建好的项目中添加Spring配置文件spring-config.xml,将此文件放到resources的根目录下。并在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">
    
</beans>

接下来将User对象注册到spring中,具有操作是在<beans>中配置。
Spring的创建和使用_第2张图片

获取并使用Bean对象

获取Bean对象分为以下三个步骤:

  1. 得到Spring上下文对象
  2. 通过spring上下文获取到指定的Bean对象
  3. 使用Bean对象

创建Spring上下文

Spring上下文对象可以使用ApplicationContext

ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");

除了ApplicationContext外还可以使用BeanFactory来获取Spring上下文。

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

ApplicationContext和BeanFactory的效果是一样的,ApplicationContext是BeanFactory的子类

ApplicationContext与BeanFactory的区别

  • 继承关系和功能:ApplicationContext属于BeanFactory的子类,它除了继承BeanFactory的所有功能外,还拥有独特的特征,添加了对国际化支持,资源访问支持,以及事件传播等方面的支持。
  • 性能方面:ApplicationContext是一次性加载并初始化所有的Bean对象,而BeanFactory是需要那个才去加载那个,因此比较轻量.

获取指定的Bean对象

//1.获取上下文
        ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");
        //加载指定对象
        User user= (User) context.getBean("user");

在这里插入图片描述

使用Bean

public class App {
    public static void main(String[] args) {
//        BeanFactory beanFactory=new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
        //1.获取上下文
        ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");
        //加载指定对象
        User user= (User) context.getBean("user");
        //调用对应的方法
        System.out.println(user.Hi("world"));
    }
}

总结

Spring的创建和使用_第3张图片

你可能感兴趣的:(Spring,spring)