概要
本文会去描述和尝试解释这样几个概念: Spring,SpringBoot,Bean
什么是 Spring ?它解决了什么问题?
Spring,一般指代的是 Spring Framework,它是一个开源的应用程序框架,提供了一个简易的开发方式,通过这种开发方式,将避免那些可能致使代码变得繁杂混乱的大量的业务/工具对象,说的更通俗一点就是由框架来帮你管理这些对象,包括它的创建,销毁等
它所解决的问题,就是通过 IOC(控制反转)将组件以松耦合的方式在工程中组织。实现了项目结构层次分明,模块/对象替换方便。
什么是 Bean
Bean 是 Spring Framework 所管理的这些对象/模块,框架会通过 IOC 建立起来的桥梁来管理和控制
什么是 SpringBoot?它解决了什么问题? 、
SpringBoot 力求以更加简单的方式来开发一个 Spring 程序。它会自动扫描,加载,配置各种模块。
image.png
SpringBoot 中通过注解来管理 Bean
在 SpringBootApplication 所在的包下创建一个 config 类文件:
...
@Configuration
public class JavaConfiguration {
@Bean
public String someDummyBean1() {
return "someDummyBean1";
}
@Bean
public String someDummyBean2() {
return "someDummyBean2";
}
}
@Configuration 表示此类包含 Spring Beans 的配置
@Bean 允许我们在 Spring Configuration 类中创建一个 Bean
SpringBoot 中通过使用 XML 文件来管理 Bean
需要创建2个文件,
- 一个 xml 配置文件 src/main/resources/applicationContext.xml
<?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">
<bean id="xmlStringBean1" class="java.lang.String">
<constructor-arg value="stringBean1" />
</bean>
<bean id="xmlStringBean2" class="java.lang.String">
<constructor-arg value="stringBean2" />
</bean>
</beans>
- 一个读取该 xml 文件的 Config 类文件
...
@Configuration
@ImportResource({"classpath*:applicationContext.xml"})
public class XmlConfiguration {
}