Spring的创建和使用

简介: Spring的创建和使用

Spring 是⼀个包含了众多⼯具⽅法的 IoC 容器。那么它就具备以下功能:

1.将对象存储到容器

2 从容器中将对象取出来

Spring的创建

使⽤ Maven ⽅式来创建⼀个 Spring 项⽬,总共分为三步:

  1. 创建一个普通的Maven项目
  2. 添加Spring框架支持(spring-context、spring-beans)
  3. 添加启动类

1.创建一个普通的Maven项目

然后点击下面创建

2.添加spring框架支持

在项目的pom.xml中,添加spring框架支持,xml的配置如下:

<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
        <dependency>

上述添加的模块有spring-context :spring上下文 ,还有 spring-beans:管理对象模块

3.添加启动类

在创建好的项目中的java文件夹中创建一个启动类,包含main方法即可:

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

存储Bean对象

存储Bean对象分为以下两步:

  1. 创建Bean
  2. 将创建的Bean注册到Spring容器当中

1. 创建Bean

Bean就是Java中的一个普通对象,实现代码如下:

public class User {
    public String sayHi(String name){
        return  name+"你好!";
    }
}

2.将Bean注册到容器当中

在 resources 根⽬录下添加Spring配置文件spring-config.xml

Spring配置文件格式固定,所以找地方保存即可

配置文件gitee地址

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:content="http://www.springframework.org/schema/context"
       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">
</beans>

<beans> 中添加如下配置,即可将User对象注册到Spring中去

<bean id="user" class="User"></bean>

获取并使用Bean对象

获取并使用Bean对象需要三步:

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

1.得到Spring上下文

Spring 上下⽂对象可使⽤ ApplicationContext得到,实现代码如下:

//获取spring上下文,创建的时候需要配置 Spring 配置信息
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-config.xml");

也可以使用BeanFactory得到Spring上下文

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

两者效果是一样的,ApplicationContext是BeanFactory的子类

常见面试题

ApplicationContext与BeanFactory

1.继承关系和功能⽅⾯来说:Spring 容器有两个顶级的接⼝:BeanFactory 和ApplicationContext。其中 BeanFactory 提供了基础的访问容器的能⼒,⽽ ApplicationContext属于 BeanFactory 的⼦类,它除了继承了 BeanFactory 的所有功能之外,它还拥有独特的特性,还添加了对国际化⽀持、资源访问⽀持、以及事件传播等⽅⾯的⽀持

2.从性能⽅⾯来说:ApplicationContext 是⼀次性加载并初始化所有的 Bean 对象,⽽BeanFactory 是需要那个才去加载那个,因此更加轻量。

2. 获取指定Bean对象

//获取指定的Bean对象,使用名称获取
        User user = (User) applicationContext.getBean("user");
  //获取指定的Bean对象类型进行获取
        User user = (User) applicationContext.getBean(User.class);
  //获取指定的Bean对象名称+类型进行获取
        User user = (User) applicationContext.getBean("user",User.class);      

注意

当有⼀个类型被重复注册到 spring-config.xml 中时,只能使⽤根据名称获取。

3. 使用Bean对象

public class Test {
    public static void main(String[] args) {
        //获取spring上下文,创建的时候需要配置 Spring 配置信息
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-config.xml");
        //BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
    //获取指定的Bean对象名称+类型进行获取
        User user = (User) applicationContext.getBean("user",User.class);
       //调用指定对象相应方法
        System.out.println(user.sayHi("朱星星"));
    }
}

运行main方法

总结

  1. 操作容器之前,需要先得到容器。
  2. 存对象
  • 创建 Bean
  • 将 Bean 注册(配置)到 spring-confing.xml 中
  1. 取对象
  • 得到 Spring 上下⽂,并读取到 Spring 的配置⽂件
  • 获取某⼀个 Bean 对象
  • 使用Bean对象


相关文章
|
4月前
|
缓存 Java 数据库连接
Spring c3p0配置详解
【7月更文挑战第13天】
122 1
|
6月前
|
XML Java Maven
Spring的创建
Spring的创建
52 2
|
6月前
|
Java 程序员 Maven
Spring(Spring/Springboot 的创建) 基础
Spring(Spring/Springboot 的创建) 基础
|
6月前
|
Java Maven Spring
创建一个spring boot的3种方式
创建一个spring boot的3种方式
53 6
|
6月前
|
XML Java Maven
【Spring】——Spring的创建与使用(一)
【Spring】——Spring的创建与使用
57 0
【Spring】——Spring的创建与使用(一)
|
6月前
|
存储 Java Maven
【Spring】——Spring的创建与使用(二)
【Spring】——Spring的创建与使用
71 0
【Spring】——Spring的创建与使用(二)
|
存储 安全 Java
《Spring安全配置》
《Spring安全配置》
70 1
|
IDE Java Maven
手动创建Spring Boot 2.x项目
手动创建Spring Boot 2.x项目
282 0
手动创建Spring Boot 2.x项目
|
存储 Java Maven
Spring 创建和使用
spring-core的创建与使用
|
XML 开发框架 监控
Spring Boot项目的创建
Spring Boot项目的创建