【Spring框架】第一个Spring(创建和使用)

Spring创建和使用

创建

创建一个Maven项目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

添加Spring框架支持(spring-context、spring-beans)

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

添加启动类

最后在创建好的项⽬ java ⽂件夹下创建⼀个启动类,包含 main ⽅法即可:

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

存储Bean对象

创建Bean

public class User {
    public String sayHi() {
        return "hello world";
    }
}

将Bean注册到容器

在resources下创建一个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/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>

再将 User 对象注册到 Spring 中就可以,具体操作是在 中添加如下配置:
在这里插入图片描述

读取并使用Bean对象

先得到spring(上下文)对象
方法一:使用ApplicationContext;

ApplicationContext  context = new ClassPathXmlApplicationContext("spring-config.xml");

方法二:使用BeanFactory;

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

从Spring中取到Bean对象

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

使用Bean

System.out.println(user.sayHi());

在这里插入图片描述

经典面试题:ApplicationContext和BeanFactory的区别是什么?

相同点:都可以从IoC容器当中获取bean。

不同点 :从继承关系和功能方面:ApplicationContext继承于BeanFactory。BeanFactory只提供了最基础的访问bean的方法,而ApplicationContext除了拥有BeanFactory以外,还拥有一些其他的机制,例如:支持国际化,资源访问,事件传播等;

从性能方面: ApplicationContext 是⼀次性加载并初始化所有的 Bean 对象,⽽BeanFactory 是需要那个才去加载那个,因此更加轻量(ApplicationContext采用的是"饿加载"的方式来进行加载的。而BeanFactory采用的是"懒加载"的方式来进行加载的。)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

摸鱼王胖嘟嘟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值