> 文章列表 > Spring项目的创建和使用

Spring项目的创建和使用

Spring项目的创建和使用

Spring:Spring是一个包含众多工具方法的IoC容器

Spring的核心功能:

  • 对象(俗称Bean)存储到Sping容器中
  • 从容器中取出对象

目录

一,创建Spring项目

1,创建一个Maven项目

 2,添加Spring框架(以spring-context为例)

 3,创建启动类

 二,操作Bean对象

1,存储Bean对象

创建Bean对象

添加配置文件(spring-config.xml)

Bean对象的注入

 2,获取并使用Bean对象

使用ApplicationContext操作

使用BeanFactory操作

 常见面试题(ApplicationContext 和 BeanFactory的区别):


一,创建Spring项目

使用Maven方式创建一个Spring项目,创建Spring项目和Servlet类似,总共分成一下三步:

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

1,创建一个Maven项目

 

 2,添加Spring框架(以spring-context为例)

添加Spring依赖前需要配置Maven国内源,详情博客:Maven配置国内源以及jar下载失败处理详解_徐憨憨!的博客-CSDN博客

使用Maven仓库(https://mvnrepository.com/)查找Spring相关框架并添加;

 

 

 3,创建启动类

在创建好的项目java文件夹下创建一个启动类,需要包含main方法;

 二,操作Bean对象

上述操作已经创建了一个Maven项目了,通过这个Maven项目可以进行对Bean对象的存储和取出操作!

1,存储Bean对象

存储Bean对象分为两步:

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

创建Bean对象

Bean对象其实就是一个普通的Java对象,现在我们创建一个Student对象,具体代码如下:

public class Student {//为了简化代码 这里使用就地初始化的方式public int id = 1;public String name = "张三";public void print() {System.out.println("id: " + id + " name: " + name);}
}

添加配置文件(spring-config.xml)

Bean对象的注册依赖配置文件spring-config.xml,需要将此文件放到resources的根目录下:

 配置文件的内容不需要背诵,事先存储一份,用的时候直接复制即可,配置文件内容如下:

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

Bean对象的注入

这里使用beans标签进行注入,后面随着学习的深入,将会使用更加简单的方法进行注册;

 2,获取并使用Bean对象

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

使用ApplicationContext操作

public class App {public static void main(String[] args) {//1.获取 Spring 上下文对象ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");//2.获取 Bean 对象//Student student = (Student) context.getBean("student");//使用名称的方式进行获取//Student student = context.getBean(Student.class);//使用类的方式进行获取Student student = context.getBean("student",Student.class);//使用名称+类的方式进行获取(该方式更推荐)//3.使用 Bean 对象student.print();}
}

  

注意:

获取spring上下文对象时需要传入spring-config配置文件用来加载Bean对象;

getBean方法有很多重载方法,不同方法所需传入的参数不同;

使用名称的方式进行获取时,返回的类型是Object类型,需要进行强转;

传入的名称要和bean标签中设置的id匹配.

使用BeanFactory操作

public class App {public static void main(String[] args) {//1.获取 Spring 上下文对象BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));//2.获取 Bean 对象(这里也可以使用多种方式获取 Bean 对象)Student student = beanFactory.getBean("student", Student.class);//3.使用 Bean 对象student.print();}
}

 常见面试题(ApplicationContext 和 BeanFactory的区别):

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