这里是修真院后端小课堂,每篇分享文从
【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】
八个方面深度解析后端知识/技能,本篇分享的是:
【什么是SPRING BOOT?】
大家好,我是IT修真院郑州分院第十期学员,一枚正直纯洁善良的JAVA程序员。
今天给大家分享一下,修真院官网JAVA任务十,扩展思考中的知识点——什么是SPRING BOOT??
一、背景介绍
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
spring大家都知道,boot是启动的意思。所以,spring boot其实就是一个启动spring项目的一个工具而已。从最根本上来讲,Spring Boot就是一些库的集合,它能够被任意项目的构建系统所使用。
二、知识剖析
简单的说,spring boot就是整合了很多优秀的框架,不用我们自己手动的去写一堆xml配置然后进行配置。
从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使 用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。
三、常见问题
1.如何创建springboot项目
2.如何使用springboot与ssm结合
四、编码实战
详见视频。
五、扩展思考
1.如何使用springboot发布项目(打jar包)?
在pom.xml中添加如下插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--版本-->
<version>1.4.2.RELEASE</version>
<!-- <executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions> -->
<configuration>
<mainClass>com.how2java.Application</mainClass>
<layout>JAR</layout>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>*/.xml</include>
<include>*/.properties</include>
</includes>
</resource>
<resource>
<directory>src/main/java/com/how2java/mapper</directory>
<includes>
<include>*/.xml</include>
<include>*/.properties</include>
</includes>
<targetPath>com/how2java/mapper</targetPath>
</resource>
<resource>
<directory>src/main/webapp</directory>
<!--注意此次必须要放在此目录下才能被访问到 -->
<targetPath>META-INF/resources</targetPath>
<includes>
<include>/</include>
</includes>
</resource>
</resources>
</build>
2.SPRINGBOOT运行原理:
入口注解@SpringBootApplication注解是一个组合注解,它包含@configuration、@EnableAutoConfiguration和@componentScan三个注解组成。它的核心是@EnableAutoConfiguration注解。这个注解中有一个@Import注解,它导入配置功能EnableAutoConfigurationImportSelector,这个类有个方法扫描具有/META-INF/spring.factories文件的jar。spring.factories中声明了哪些自动配置。然后我们在application.properties文件中进行相应的配置,比如数据库连接,使springboot中的自动配置中的参数是我们需要的配置。
六、参考文献
https://blog.csdn.net/qq_3165...
https://www.cnblogs.com/xuwuj...
七、更多讨论
1.在如何在外部tomcat中运行?
pom文件中 jar 改成 war,内置tomcat要改成provide:
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
启动类改成如下:
@SpringBootApplication
@Configuration
@EnableConfigurationProperties
public class BaseApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(BaseApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(BaseApplication.class, args);
}
}
2.springboot常用的starter有哪些?
spring-boot-starter-web 嵌入tomcat和web开发需要servlet与jsp支持
spring-boot-starter-data-jpa 数据库支持
spring-boot-starter-data-redis redis数据库支持
spring-boot-starter-data-solr solr支持
mybatis-spring-boot-starter 第三方的mybatis集成starter
3.sspringboot读取配置文件的方式:
pringboot默认读取配置文件为application.properties或者是application.yml
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。