你知道Spring版本的HelloWorld有几种写法吗?
“你知道茴香豆……啊不,我是说,你知道Spring版本的HelloWorld有几种写法吗?”
“额……”
00 Spring框架有多种实现方法
看了前一篇文章的小伙伴可能会奇怪,我不是要说Spring吗,为什么把SpringBoot的项目搭建起来糊弄人了?
唔……SpringBoot其实也是Spring嘛!只是起手式不一样而已啊喂,并不是Spring项目就一定要用XML配置的呀
接下来,就好好说道说道Spring的各种起手式叭
01 Spring起手式1——XML
最早的Spring管理Bean的方式是使用一个或者若干个XML进行配置,就这些XML文件就管理着所有组件的关系。
<bean id="helloWorldService" class="cn.cxydd.HelloWorldServiceImpl" />
这大约是比较熟悉的一段配置了
02 起手式2——基于 Java 的配置
@Configuration
public class ServiceConfiguration {
@Bean
public HelloWorldService helloWorldService() {
return new HelloWorldService();
}
}
使用一个 @Configuration 的注解表命这是一个配置类,然后在方法上加上 Bean 的注解,表示返回的对象是可以被上下文管理的Bean。
比起XML形式的配置方式,使用Java配置的方式更高的类型安全性和改进的可重构性。
03 起手式3——自动扫描
自动配置借助组件扫描,Spring 可以自动从应用程序的类路径中发现组件,并将其创建为 Spring 应用程序上下文中的 bean。通过自动装配,Spring 会自动将组件与它们依赖的其他 bean 一起注入
<!-- 对所有类进行扫描,以完成Bean创建和自动依赖注入的功能 -->
<context:component-scan base-package="cn.cxydd.helloworld.*" />
04 起手式4——SpringBoot
我的上篇文章就是用的SpringBoot作为起手式,在Spring全家桶越来越大,版本越来越多,加之出现了Go等一系列轻量级语言后,Spring也是意识到需要使得开发更加简化,于是诞生了SpringBoot这一产品。
使用了SpringBoot后,几乎无需显示地进行配置,所有初始化所需地配置已经由SpringBoot自动完成了。
@SpringBootApplication
就这样一个简简单单的注解,就完成了一个Spring项目的配置
05 End
其实无论一个Spring项目用什么方式搭建,其核心思想并没有改变,使用Spring来管理程序的各个组件,简化我们的开发。后续的篇章,将会逐一使用Spring的各项功能。