什么是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_31655965/article/details/71258191

https://www.cnblogs.com/xuwujing/p/8260935.html

七、更多讨论

     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

八、视频教程

https://v.qq.com/x/page/l0792h7n2c2.html

快点加入我们吧:http://www.jnshu.com/login/1/23284132

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值