背景

2014年发布,自动配置spring的各种组件,不依赖于代码生成和xml配置文件

作用

  1. 轻松创建独立运行的程序,非常容易创建独立的服务组件,是实现分布式架构、微服务架构的不二选择
  2. 简化第三方包的引用,提供starter,简化依赖包的配置
  3. 内嵌tomcat、jetty等web容器,不需要部署war文件
  4. 开箱即用,尽可能自动配置spring

版本配置

3333.png

配置starter

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
  • spring-boot-starter-parent作用
    在pom.xml中引入spring-boot-start-parent,它可以提供dependency management,也就是说依赖管理,引入以后在申明其它dependency的时候就不需要version了,后面可以看到。
  • spring-boot-starter-web作用
    springweb 核心组件

springboot的依赖

依赖作用
spring-boot-starter核心 POM,包含自动配置支持、日志库和对 YAML 配置文件的支持。
spring-boot-starter-amqp通过 spring-rabbit 支持 AMQP
spring-boot-starter-aop包含 spring-aop 和 AspectJ 来支持面向切面编程(AOP)。
spring-boot-starter-batch支持 Spring Batch,包含 HSQLDB。
spring-boot-starter-data-jpa包含 spring-data-jpa、spring-orm 和 Hibernate 来支持 JPA。
spring-boot-starter-data-mongodb包含 spring-data-mongodb 来支持 MongoDB。
spring-boot-starter-data-rest通过 spring-data-rest-webmvc 支持以 REST 方式暴露 Spring Data 仓库。
spring-boot-starter-jdbc支持使用 JDBC 访问数据库
spring-boot-starter-security包含 spring-security。
spring-boot-starter-test包含常用的测试所需的依赖,如 JUnit、Hamcrest、Mockito 和 spring-test 等。
spring-boot-starter-velocity支持使用 Velocity 作为模板引擎。
spring-boot-starter-web支持 Web 应用开发,包含 Tomcat 和 spring-mvc。
spring-boot-starter-websocket支持使用 Tomcat 开发 WebSocket 应用。
spring-boot-starter-ws支持 Spring Web Services
spring-boot-starter-actuator添加适用于生产环境的功能,如性能指标和监测等功能。
spring-boot-starter-remote-shell添加远程 SSH 支持
spring-boot-starter-jetty使用 Jetty 而不是默认的 Tomcat 作为应用服务器。
spring-boot-starter-log4j添加 Log4j 的支持
spring-boot-starter-logging使用 Spring Boot 默认的日志框架 Logback
spring-boot-starter-tomcat使用 Spring Boot 默认的 Tomcat 作为应用服务器。

springboot静态资源的访问

所有的静态资源(js,img,css..)要放在classpath下面,也就是存放class文件的文件夹下;在项目中就是在src/main/resources目录下创建static目录,在其中放置静态资源