赞
踩
Spring是为了简化java程序开发的,而SpringBoot是为了简化Spring程序开发的,所以SpringBoot底层还是Spring。还是一个Ioc容器,具有存储Bean的功能。
SpringBoot翻译成中文:Spring脚手架
Spring我们知道,Spring是包含了众多工具方法的Ioc容器,Spring包含了很多模块:SpringMVC,SpringAOP,SpringJDBC。而SpringBoot则不太一样,SpirngBoot并不是Spring中包含的这些模块,SpirngBoot是为了快速开发Spring项目的一个框架(SpringBoot的核心理念是约定大于配置),它的诞生是为了快速开发Spring项目。
SpringBoot相比于Spring的优点:
分步骤操作:
1️⃣安装Spring Boot Helper插件,只有安装了这个插件才能创建SpringBoot项目(专业版的Idea无需安装)
2️⃣
3️⃣
4️⃣
5️⃣创建好的SpringBoot项目:
创建好SpringBoot项目后,有一个复杂的项目目录,其中有一些文件是没有啥用的,直接删掉就可以了:圈的四个文件直接删掉就行了。
介绍一下项目文件:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CnVktATL-1677769049743)(https://hao-typora.oss-cn-beijing.aliyuncs.com/img/image-20221201165038230.png)]
1️⃣java目录:放的是java源代码,默认会有个启动类:DemoApplication
2️⃣resources:放的是一些资源文件:
static放的是前端的一些文件(haml/css/js等)
templates放的是模板文件:比如servlet个人博客项目中的导航栏,当时是每个页面都有一份导航栏的代码,现在这个导航栏的代码只有一份就行了,放到templates文件夹下就行了,在其他页面可以引入。
application.properties:放的是SpringBoot的一些配置信息,比如要修改当前程序占用的端口号,就可以在这里配置。
3️⃣test文件:单元测试文件,放的是测试代码
4️⃣pom.xml:Maven项目所依赖的配置文件和application.properties不同,application.properties是SpringBoot项目所依赖的配置文件(以键值对存储信息)
这是SpringBoot中的一种思想,意思就是SpringBoot的设计人员把一些东西都约定好,让普通开发人员都遵守这个约定,就不需要程序员自己手动配置一些东西了,目的是为了简化开发。那SpringBoot中都有哪些约定呢?
1️⃣要注入到容器的类必须在启动类所在的包或启动类所在的包的子包中,否则无法注入到容器中。
比如下面这种情况,就不会把TestController类注册到容器中。
在Spring阶段,类注册到容器中需要在配置文件中配置一个扫描路径,扫描路径下的类才有可能注册到容器中,而在SpringBoot阶段,就不需要这个配置了,但是需要遵守上面的约定,才能正确扫描到这个类,这就叫做约定大于配置。省去了xml配置,让操作更简单。
2️⃣resources目录下有个配置文件:application.properties这个配置文件的名字是不能随便更改的,一旦更改了名字,这个配置文件就不生效了。不像Spring时的.xml格式的配置文件叫啥名字都行。这也算约定大于配置的思想。
SpringBoot相比与Spring的优势:
1️⃣启动时即可添加依赖,可以快速集成各种框架
2️⃣SpringBoot项目内置了Tomcat,部署项目更方便。
3️⃣抛弃了xml格式的配置文件,配置更方便
整个项目中所有的重要信息都是在配置文件中配置的:
配置文件有两种格式:
.properties
.yml
在创建SpringBoot项目的时候会自动生成一个第一种格式的配置文件:application.properties,这个配置文件的文件名不能改,一旦改了,配置失效。
如果要使用第二种格式的配置文件,文件名必须为application.yml,否则配置失效。
如果这两种配置文件同时存在,那这俩文件都会生效,假如说俩文件的配置项一样,都配置了端口号,那application.properties的优先级是更高的。
#配置端口号
server.port=9090
#配置数据库连接
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/databaseName?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=1234
#自定义配置项
mykey.key1=bit
application.properties用的是键值对存储信息,可以有SpringBoot内置的配置项,比如server.port。
也可以有自定义的配置项:比如:myKey.key1=bit
如何在项目代码中读取配置文件中的数据?
使用的是value注解,注解中参数格式是:“${配置项的键}”
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kWAVpLJZ-1677769049745)(https://hao-typora.oss-cn-beijing.aliyuncs.com/img/image-20221202194455610.png)]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。