Spring 的创建和使用

目录

一. 配置 Maven 国内源

1.1 为什么要配置国内源呢?

1.2  在设置中配置 Maven

1.3 在 settings.xml 中配置国内源

1.4 清空 Maven 重新下载

二. 创建 Spring 项目

2.1 创建一个 Maven 项目

2.2 添加 Spring 框架支持

2.3 创建启动类

三.存储 Bean 对象

3.1 创建一个 Bean

3.2 将对象存(注册)到 Spring 容器中

四. 从容器中获取并使用 Bean

4.1 得到 Spring 上下文对象

4.2 ApplicationContext 和 BeanFactory 的区别 (面试题)

4.4使用 Bean


在之前的写的一篇讲解 spring 的博客中(以下链接通往)我们知道, spring 就是一个包含了众多工具方法的 IOC 容器,他管理的资源就是对象, 对象在 Java 中也叫做 Bean

详解 Spring - Ioc(控制权反转) 和 DI(依赖注入)_Lzm_0.0的博客-CSDN博客

既然 Spring 他是一个容器, 那么他对对象最基础的管理就有以下两个:

  1. 将 Bean 存储到 Spring 容器中
  2. 从 Spring 容器中取出 Bean

我们先简单的创建一个 Spring 项目, 然后对对象进行管理操作

创建项目之前我们先配置一下国内源, 配置完成之后,以后创建项目都会很顺利

. 配置 Maven 国内源

1.1 为什么要配置国内源呢?

答: 因为创建项目阶段会下载一些国外的资源使用, 由于国内和国外的网络环境存在差异,下载国外的资源可能会收到影响从而下载缓慢或者下载失败, 从而使项目创建失败, 例如:创建 maven 项目的时候引入 jar 失败. 配置了国内源之后会把资源镜像放在国内的服务器上,提供更好的现在服务, 提高下载速度.

1.2  在设置中配置 Maven

我们直接设置每次创建新项目时应用的设置

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

我们需要改动这四个地方, 这是我改后的截图, 其他地方我们都可以默认

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

1.3 settings.xml 中配置国内源

   

        alimaven

        aliyun maven

        http://maven.aliyun.com/nexus/content/groups/public/

        central       

      

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

在以下位置插入代码即可

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

1.4 清空 Maven 仓库重新下载

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

重新下载

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

完成以上步骤, 我们的配置的国内源以及 Maven 仓库就全部完成了, 以后创建 Spring 或者 Spring Boot 项目的时候就会特别顺利, 现在我们就开始创建 Spring 项目

. 创建 Spring 项目

2.1 创建一个 Maven 项目

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

2.2 添加 Spring 框架支持

在 Maven 中央仓库中找到 Spring-context(spring 上下文) 还有 Spring-beans(管理对象模块) , 在 pom.xml 文件中进行添加

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

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


    
    
        org.springframework
        spring-context
        5.2.25.RELEASE
    
    
    
        org.springframework
        spring-beans
        5.2.25.RELEASE
    

添加完成之后点击刷新即可自动下载, 不报红就成功了

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

2.3 创建启动类

在 Java 底下创建一个类, 包含 main 方法

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

这样一个 Spring 项目就简简单单创建完成了

.存储 Bean 对象

将 对象(Bean) 存储到 Spring(Ioc) 容器中

分为两步:

  1. 创建一个 Bean
  2. 将创建好的 Bean 注册到 Spring 容器中

3.1 创建一个 Bean

就是创建一个对象

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

3.2 将对象存(注册) Spring 容器中

 1.在 resources 下创建 spring-config.xml 文件

在 spring-config.xml  中写入 Spring 配置文件的固定格式



 2. 把 User 对象注册到 Spring 中就可以了

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

id : 将对象存储到 Ioc 容器的名字

class: 要存储到 Ioc 中的 Bean 的完整路径(包名 + 类名)

. 从容器中获取并使用 Bean

4.1 得到 Spring 上下文对象

两种方式得到上下文对象

  1. 使用 ApplicationContext 得到 Spring 上下文对象

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

         2. 使用 BeanFactory 得到 Spring 上下文对象

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

4.2 ApplicationContext BeanFactory 的区别 (面试题)

相同点: 都是容器管理对象, 都可以获取 Bean 对象

不同点:

  1.  ApplicationContext 属于 BeanFactory 的子类, ApplicationContext 拥有更多的功能(国际化支持, 资源访问支持, 以及事件传播等方面的支持..)
  1. 加载 Bean 机制不同,  BeanFactory 懒加载, 按需加载 (使用一个Bean 加载 一个 Bean), ApplicationContext 一次性加载所有的 Bean

4.3 获取指定 Bean 对象

User user = (User) context.getBean("user"); 

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

getBean 更多用法:

  1. 根据名称获取 Bean 对象
User user = (User) context.getBean("user"); 
  1. 根据用法获取 Bean 对象
User user = context.getBean(User.class); 
  1. 根据名称 + 类型获取 Bean 对象
User user = context.getBean("user", User.class); 

4.4使用 Bean

public class App {
    public static void main(String[] args) {
        // 使用 ApplicationContext 得到 Spring 上下文对象
        ApplicationContext context =
                new ClassPathXmlApplicationContext("spring-config.xml");
        //使用 BeanFactory 得到 Spring 上下文对象
        //BeanFactory beanFactory =
        //        new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
        //获取 Bean 对象
        User user = context.getBean("user",User.class);
        //User user = (User) context.getBean("user");
        //使用 Bean
        user.sayHi();
    }
}

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

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

使用完成了

你可能感兴趣的:(spring,java,后端)