Spring系列2 -- Spring的创建和使用

这篇具有很好参考价值的文章主要介绍了Spring系列2 -- Spring的创建和使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Spring 就是⼀个包含了众多工具方法的 IOC容器。既然是容器那么它就具备两个最基本的功能:

  1. 将对象存储到容器(Spring)中;
  2. 从容器中将对象取出来。

 在Java中对象也叫做Bean,后续我们就把对象称之为Bean;

目录

1. 创建Spring项目(Maven创建)

1.1 创建一个Maven项目 

1.2 添加Spring 框架支持

1.3 添加启动类

2. 存储 Bean 对象

2.1 创建Bean 

2.2 将Bean注册到容器

3. 获取并使用Bean对象

3.1  创建 Spring 上下文

3.2  获取指定的 Bean 对象

3.3  使用Bean

4. 整体流程图


1. 创建Spring项目(Maven创建)

整体就分为以下三个步骤 

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

1.1 创建一个Maven项目 

Spring系列2 -- Spring的创建和使用,Spring,spring,java,后端

点击下一步

 Spring系列2 -- Spring的创建和使用,Spring,spring,java,后端

1.2 添加Spring 框架支持

在项⽬的 pom.xml 中添加 Spring 框架的⽀持,xml 配置如下:

<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:管理对象的模块

1.3 添加启动类

public class App {
    public static void main(String[] args) {
       // 实现代码
    }
}

 2. 存储 Bean 对象

存储 Bean 分为以下 2 步:

  • 1. 存储 Bean 之前,先得有 Bean 才⾏,因此先要创建⼀个 Bean。
  • 2. 将创建的 Bean 注册到 Spring 容器中。

2.1 创建Bean 

所谓的 Bean 就是 Java 语⾔中的⼀个普通对象,实现代码如下:

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

2.2 将Bean注册到容器

在创建好的项⽬中添加 Spring 配置⽂件 spring-config.xml,将此⽂件放到 resources 的根⽬录下,如下图所示:

Spring系列2 -- Spring的创建和使用,Spring,spring,java,后端

Spring 配置⽂件的固定格式为以下内容:

<?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>

接下来,再将 User 对象注册到 Spring 中就可以,具体操作是在 <beans> 中添加如下配置:

Spring系列2 -- Spring的创建和使用,Spring,spring,java,后端

3. 获取并使用Bean对象

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

  • 1. 得到 Spring 上下文对象,因为对象都交给 Spring 管理了,所以获取对象要从 Spring 中获取,那么就得先得到 Spring 的上下文。
  • 2. 通过 Spring 上下文,获取某⼀个指定的 Bean 对象。
  • 3. 使⽤ Bean 对象。

如果取多个 Bean 的话重复以上第 2、3 步骤。 

具体过程如下

3.1  创建 Spring 上下文

两种获取上下文的方式

1. 使用 ApplicationContext(主流)

2. 使用 BeanFactory 

1. 使用 ApplicationContext(主流) 

// 1.得到 Spring 的上下⽂对象,创建的时候需要配置 Spring 配置信息
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");

 2. 使用 BeanFactory 

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

ApplicationContext 和 BeanFactory 效果是⼀样的,ApplicationContext 属于 BeanFactory 的子类,它们的区别如下。

  • 继承关系和功能⽅⾯来说:Spring 容器有两个顶级的接口:BeanFactory 和ApplicationContext。其中 BeanFactory 提供了基础的访问容器的能⼒,⽽ ApplicationContext属于 BeanFactory 的⼦类,它除了继承了 BeanFactory 的所有功能之外,它还拥有独特的特性,还添加了对国际化⽀持、资源访问⽀持、以及事件传播等⽅⾯的⽀持。
  • 从性能⽅⾯来说:ApplicationContext 是⼀次性加载并初始化所有的 Bean 对象,⽽BeanFactory 是需要那个才去加载那个,因此更加轻量

3.2 获取指定的 Bean 对象

// 1.得到 Spring 上下⽂对象
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
// 2.加载某个 bean
User user = (User) context.getBean("user");

 Bean的id要一一对应。Spring系列2 -- Spring的创建和使用,Spring,spring,java,后端

getBean ⽅法的更多⽤法

getBean() ⽅法有很多种重载⽅法,我们也可以使⽤其他⽅式来获取 Bean 对象,⽐如以下这两种:
1. 根据类型获取 Bean:

UserController user = context.getBean(UserController.class); 

 2. 名称 + 类型获取 Bean(常用)

UserController user = context.getBean("user", UserController.class); 

⼆者的区别:当有⼀个类型被重复注册到 spring-config.xml 中时,只能使用根据名称获取了

3.3  使用Bean

public class App {
    public static void main(String[] args) {
        // 1.得到 Spring 上下⽂对象
        ApplicationContext context =new ClassPathXmlApplicationContext("springconfig.xml");
        // 2.加载某个 bean
        User user = (User) context.getBean("user");
        // 3.调⽤相应的⽅法
        System.out.println(user.sayHi("Java"));
    }
}

4. 整体流程图

Spring系列2 -- Spring的创建和使用,Spring,spring,java,后端

        上述是通过在Spring配置文件进行注入Bean对象,我们可以思考一个问题,如果我们在以后的项目中Bean对象特别多的时候,我们还要这样一个一个的添加吗?答案肯定不是,下一章节,我会总结一个更加有效率的注入Bean的方式,在配置文件中配置路径搜索的方法往容器中注入Bean对象,以及通过添加类注解的方式获取Bean对象。文章来源地址https://www.toymoban.com/news/detail-526407.html

到了这里,关于Spring系列2 -- Spring的创建和使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java后端07(Spring未完成)

    ​涉及的设计模式:单例模式,简单工厂模式,代理模式,观察者模式,反射,注解。。。。。 ​在传统模式下,对象的创建和赋值,都是由开发者自己手动完成,事实情况下,开发者只关心如何获取赋值好的对象,但是并不希望自己手动进行创建对象和赋值的事情(sprin

    2024年02月14日
    浏览(50)
  • JAVA后端开发面试基础知识(八)——Spring

    Spring是一个轻量级Java开发框架 我们一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发,比如说 Spring 支持 IoC(Inverse of Control:控制反转) 和 AOP(Aspect-Oriented Programming:面向切面编程)、可以很方便地对数据库进行访问、

    2024年03月10日
    浏览(74)
  • 【Spring框架全系列】如何创建一个SpringBoot项目

    🌇哈喽,大家好,我是小浪。前几篇博客我们已经介绍了什么是Spring,以及如何创建一个Spring项目,OK,那么单单掌握Spring是完全不够的,Spring的家族体系十分强大,我们还需要深入学习,以便于我们后续达到能独立做项目的水平。今天我们来学习SpringBoot。🏜 📲目录 一、

    2024年02月03日
    浏览(50)
  • 微信小程序的授权登录-Java 后端 (Spring boot)

    微信开发文档链接:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 一个可以测试的微信小程序 此微信小程序的APPID和APPscret(至开发者后台获取) 从时序图我们可以了解到流程大致分为两步: 小程序端获取code后传给Java后台 Java后台获取code后向微信后台接口

    2024年02月09日
    浏览(55)
  • “从零开始学习Spring Boot:快速搭建Java后端开发环境“

    标题:从零开始学习Spring Boot:快速搭建Java后端开发环境 摘要:本文将介绍如何从零开始学习Spring Boot,并详细讲解如何快速搭建Java后端开发环境。通过本文的指导,您将能够快速搭建一个基于Spring Boot的Java后端开发环境并开始编写代码。 正文: 一、准备工作 在开始之前,

    2024年02月15日
    浏览(58)
  • Spring Boot 3.x 系列【49】启动流程 | 创建、准备应用上下文

    有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot版本3.1.0 源码地址:https://gitee.com/pearl-organization/study-spring-boot3

    2024年02月14日
    浏览(41)
  • 【Spring】——Spring的创建与使用

      目录 一、传统程序开发与控制反转🍭 1、传统程序开发🍉 传统程序开发的缺陷🍓 解决传统开发中的缺陷🍓 2、控制反转思维程序开发🍉 3 对比总结规律🍉 二、Spring创建与使用🍭 1、创建Spring🍉 Ⅰ、创建Maven项目🍓  Ⅱ、添加Spring框架支持🍓  Ⅲ、添加启动类🍓 注意

    2024年02月07日
    浏览(41)
  • Spring —— Spring Boot 创建和使用

    JavaEE传送门 JavaEE Spring —— Spring简单的读取和存储对象 Ⅱ Spring —— Bean 作用域和生命周期 Spring 的诞生就是为了简化 Java 程序的开发的. Spring Boot 的诞生就是为了简化 Spring 程序开发的. Spring Boot 优点 快速集成框架, Spring Boot 提供了启动添加依赖的功能,用于秒级集成各种

    2023年04月09日
    浏览(52)
  • 【Spring】Spring项目的创建和使用

    目录 1.创建spring-core项目 1.创建一个空的maven项目 2.引入spring依赖 3.添加一个启动类  2.向Spring容器中“存”------存储Bean对象 1.创建Bean 2.将Bean注册到容器  3.向spring容器中“取”------获取并使用Bean对象 1.创建Spring上下文 2.获取指定的Bean对象 3.使用Bean 4.总结 5.ApplicationContext和

    2024年02月15日
    浏览(34)
  • 【java】【SSM框架系列】【一】Spring

    目录 一、简介 1.1 为什么学 1.2 学什么  1.3 怎么学 1.4 初识Spring  1.5 Spring发展史 1.6 Spring Framework系统架构图 1.7 Spring Framework学习线路 二、核心概念(IoC/DI,IoC容器,Bean) 2.1 概念 2.2 IoC入门案例 2.2.1 IoC入门案例思路分析 2.2.2 IoC入门案例  2.3 DI入门案例 2.3.1 DI入门案例思路与

    2024年02月09日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包