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 是需要那个才去加载那个,因此更加轻量。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值