目录
经典面试题 :属性注入 ,构造方法注入 和 Setter 注入 之间,有什么区别?
一、前言:
上篇博客,我们讲了一个spring core项目的大致流程:
创建项目——》将对象储存到Spring容器中 ——》从Spring容器中取出Bean对象
但是吧,上篇讲的这些流程还是太繁琐了,有没有一个更简单的方式来实现对象的存取呢?
当然有,一起来看看吧!
首先,Spring项目的创建——这个没有什么好说的!就按我们上篇博客的步骤来进行。
但注意:与上篇博客相比,spring的配置文件发生了改变——为了更简单的实现Bean对象的存入(把对象存到spring中)
更改后的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"> <content:component-scan base-package="在对象储存中,要扫描的路径"></content:component-scan> </beans>
二、储存Bean对象
首先我们回忆下,我们执行储存Bean对象的方式。
之前我们存储 Bean 时,需要在 spring-config 中添加⼀⾏ bean 注册内容才⾏,如下图所示:
这种存入 Bean 的方式,并不是很好!
1、需要手动添加 bean 对象 到 配置文件中
2、如果 是配置文件中出现了问题,不好调试。
而现在我们不需要一个一个的在spring配置文件中添加我们要储存的Bean对象。我们直接:
你以为把扫描路径添加到配置文件中就行了吗?
不你还需要再类中添加注解——再扫描的过程中,只有添加了注解的类才能成功存储到spring中
这就引起了我们注解的概念
一共有两者方法:
1、使用 5 大类注解实现1、@Controller 【Controller - 控制器】
2、@Service 【service - 服务】
3、@Repository 【repository - 仓库】
4、@Configuration 【configuration - 配置/布局】
5、@Component 【component - 组件】
通过上述五大类注解中的任何一个,都可以将 bean 存储到 Spring 中。2、通过 方法注解@Bean ,也可以将 一个 bean 存储到 Spring 中。