1

这里是修真院后端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析后端知识/技能,本篇分享的是:

【什么是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


用户bPbdDlb
422 声望36 粉丝