spring创建与使用

2024-01-01 23:30:37

创建 Spring 项?

接下来使? Maven ?式来创建?个 Spring 项?,创建 Spring 项?和 Servlet 类似,总共分为以下 3步

创建?个 Maven 项?

在这里插入图片描述

添加 Spring 框架?持

在项?的 pom.xml 中添加 Spring 框架的?持
在这里插入图片描述

添加启动类

最后在创建好的项? java ?件夹下创建?个启动类,包含 main ?法即可

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

存储 Bean 对象

存储 Bean 分为以下 2 步

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

创建 Bean

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

public class Student {
    public Student(){
        System.out.println("init Student");
    }
    public void Sayhi(){
        System.out.println("hello spring");
    }
}

将 Bean 注册到容器

在创建好的项?中添加 Spring 配置?件 spring-config.xml,将此?件放到 resources 的根?录下,如下图所示
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/3e56dea0781c446881cd10a849f83469.png

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

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

<bean id="student" class="Student"></bean>

获取并使? Bean 对象

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

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

创建 Spring 上下?

Spring 上下?对象可使? ApplicationContext,实现代码如下

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

除了 ApplicationContext 之外,我们还可以使? BeanFactory 来作为 Spring 的上下?,如下代码所示

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

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

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

获取指定的 Bean 对象

Student student=(Student) context.getBean("student");

获取bean对象的方法

Bean 的 Id 要??对应,如下图所示
在这里插入图片描述

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

Student student=context.getBean(Student.class);

名称 + 类型获取 Bean:

Student student=context.getBean("student",Student.class);

使? Bean

public class App {
    public static void main(String[] args) {
        //获取spring对象
        ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");
        //获取bean
        Student student=context.getBean("student",Student.class);//名称+类型
        //使用bean
        student.Sayhi();
    }
}

在这里插入图片描述

总结

  1. 操作容器之前,先要有容器,所以先要得到容器
  2. 存对象:创建 Bean(普通类);将 Bean 注册(配置)到 spring-confing.xml 中
  3. 取对象:得到 Spring 上下?,并读取到 Spring 的配置?件;获取某?个 Bean 对象;使? Bean 对象

操作流程如下图所示:
在这里插入图片描述

文章来源:https://blog.csdn.net/qq_68006585/article/details/135319788
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。