Spring boot系列2 - hello项目的简单说明

麻雀虽小,五脏俱全,上一章中的hello项目虽然功能十分简单,但已经使用了Spring boot的大部分强大的特性,很值得我们细细品味一番。下面我们就来分析一下这个短小精悍的hello项目。
首先我们看下它使用了Spring boot哪些主要的特性,可以总结如下:

  • 一致性依赖管理
  • 自动化配置
  • 独立运行

一致性依赖管理

打开项目的pom.xml文件,可以看到主要引入了两个东西,第一就是指定了项目的父pom为spring-boot-starter-parent,这个pom文件主要声明了Spring boot的所有依赖管理以及Maven插件等信息。第二个就是引入了一个依赖spring-boot-starter-web,在这儿我们只是指定了需要Spring boot的web功能模块,具体依赖于哪些包以及这些包的版本都没有指定,而是由Spring boot帮助我们完成了。这就是Spring boot依赖管理神奇的地方,我们只需要指定功能模块,它便帮我们选好了对应的jar包以及jar包的版本号,并能保证它们之间相互兼容。
在这里插入图片描述
在这里插入图片描述

自动化配置

在我们创建的hello项目中,Spring boot自动为我们生成了一个类,这个类就是HelloApplication,这个类非常简单,让我们感兴趣的是它上面的注解SpringBootApplication。这个简单的注解实际上主要做了三件事情:
1.它使得HelloApplication类自动成为Spring中的配置类,也就是我们可以在HelloApplication类中配置Spring所需要的bean的信息。这主要是因为@SpringBootApplication注解实际上包含了@SpringBootConfiguration注解,而@SpringBootConfiguration注解又包含了@Configuration注解,@Configuration注解正是Spring中用于提供bean配置信息的注解。在这里插入图片描述

在这里插入图片描述
2. 它开启了Spring中的自动组件扫描功能,使得Spring boot启动时会自动扫描HelloApplication所在包以及它的所有子包(递归)中的类,而扫描的主要目的就是找到这些包中能够提供配置信息的类,包括被注解@Component、@Configuration, @Controller, @RestController, @Service, @Repository等修饰的类。这个功能主要是通过@ComponentScan注解指定的。
在这里插入图片描述
3. 最后,它开启了Spring boot中的自动化配置功能,使得Spring boot在启动时能够根据某些条件,例如类路径中的类、配置属性等信息自动为我们配置一些我们需要的类,这主要是通过@EnableAutoConfiguration注解指定的。
在这里插入图片描述

独立运行

当运行HelloApplication类的main方法时,虽然我们对所谓独立运行并没有什么明显的感觉,但Spring boot确实启动了一个内置的Tomcat容器来运行我们的程序,而没有在外部Tomcat容器中运行。在后面谈到Spring boot项目的运行方式时,我们会对独立运行有更深刻的体会。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值