SpringBoot的简述:优点、原理和配置

SSM开发麻烦之处

我们用SSM框架时候需要配置pom文件,需要导入大量的依赖,需要去寻找和配置这些依赖依赖信息,虽然比直接寻找包粘贴包要简单但仍然是一个比较繁琐的过程。
需要大量的配置文件,且配置文件之间还有一定的关联,配置麻烦,容易出错,出错不容易调试。
web.xml、applicationContext.xml、springMVC.xml、sqlMapConfig.xml、xxxMapper.xml、xxx.properties…

测试、运行需要有容器环境的支持,每次测试、运行都要从新打包发布到容器,效率非常低。
程序本身无法独立运行,不利于开发、测试。

SpringBoot概述

为了解决如上SSM开发过程中的问题,提出了SpringBoot框架,简单来说,SpringBoot就是一个基于Spring的项目快速构建工具,应用它可以快速的构建出框架项目,大大的提升开发效率。

SpringBoot向前衔接了传统的SSM框架开发,同时向后开启了分布式架构中的SprintgCloud技术,所以虽然只是一个工具,但仍然非常重要。

SpringBoot的优点

SpringBoot基于POM继承和依赖传递技术简化了POM文件中依赖的配置,可以大大减少POM中需要配置的内容。
SpringBoot基于“约定大于配置”的理念,定义了大量的约定,即,不做任何配置的情况下,基于默认的约定进行工作,这些约定是最通用的配置,所以通常情况下不需要做任何配置或只需少量改变配置就可以进行开发。
SpringBoot内置了Servlet容器,可以直接将基于SpringBoot将开发的web应用运行起来,看起来就像在运行一个普通的main方法本地程序一样,让开发、测试不再依赖于容器,更加方便了。
SpringBoot程序可以像一个main方法一样独立的运行。

SpringBoot原理

@SpringBootApplication
此注解是一个复合注解,所谓复合注解指的是此注解是其他若干个注解的合体,相当于将其他若干的注解的功能合而为一了。
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan

@SpringBootConfiguration
读取配置文件
会自动读取SpringBoot配置文件,包括application.propertis(.yml)、banner.txt、bootstrap.properties

标识当前类为配置类
此注解也是一个复合注解,内部包含了@Configration注解,所以此注解标识的类本身就是一个配置类。

@EnableAutoConfiguration
根据当前引入的包自动生成配置信息,基于约定大于配置的原理,减少开发人员的所需的配置内容。

**具体来说,此注解工作时,会去加载jar包中的config相关jar(spring-boot-autoconfigure-1.5.9.RELEASE),解析其中的META-INF/spring.factories配置文件,根据其中的信息自动进行相应配置。

@ComponentScan
用来将指定包(如果未指定就是将当前类所在包及其子孙包)加入SpringIOC的包扫描,本质上等于context:component-scan配置。

SpringApplication.run(SBDemo01.class, args);
在此代码内部进行了Spring容器的初始化,并且加载了指定的类,而在此类上发现了@SpringBootApplication注解,触发此注解功能实现了读取配置文件、生成自动配置、加载包扫描相关功能,从而完成Spring容器的初始化。之后启动内置Tomcat容器启动项目提供访问。

SpringBoot配置

SpringBoot虽然是"约定大于配置"基本不需要使用配置文件,但在需要时仍然可以通过配置配置文件来实现对默认配置的修改。

SpringBoot的配置文件要放置到源码目录下。
application.properties(.yml)
整个SpringBoot的核心配置文件。

常见配置项:
server.port=8090#内置Servlet容器运行时占用的端口
server.context-path=/1807springboot#内置Servlet运行时使用的应用名

**也可以使用application.yml作为配置文件
yml是一种非常常见的配置文件格式,特点是支持层级结构,易于阅读。

格式:
server:
[空格]port:[空格]8090
[空格]context-path:[空格]/1807springboot

示例:
server:
port: 8090
context-path: /sbdemo01x

banner.txt
启动横幅字符串

bootstrap.properties
配置客户端的加载文件

发布了47 篇原创文章 · 获赞 50 · 访问量 2057

猜你喜欢

转载自blog.csdn.net/zhaoyi666/article/details/105461494
今日推荐