摘要:开始介绍简化了基于的应用开发,你只需要就能创建一个独立的,产品级别的应用。该包含很多搭建,快速运行项目所需的依赖,并提供一致的,可管理传递性的依赖集。日志级别通过标识开启控制台级别日志记录,也可以在中指定日志级别配置示例
开始 介绍
Spring Boot 简化了基于 Spring 的应用开发,你只需要 "run" 就能创建一个独立的,产品级别的 Spring 应用。
Spring 平台及第三方库提供开箱即用的设置,这样你就可以有条不紊地开始。多数 Spring Boot 应用只需要很少的Spring 配置。你可以使用 Spring Boot 创建 Java 应用,并使用 java -jar 启动它或采用传统的 war 部署方式
系统要求Java7 以上,通常建议尽可能使用 Java8
Maven 3.2+,Gradle 2.9+ 或 Gradle 3
内嵌容器支持 Tomcat、Jetty
安装 Maven 安装POM 文件继承 spring-boot-starter-parent 工程,并声明一个或多个 "Start POMs" 依赖,此外 Spring Boot 提供了一个可选的 Maven 插件,用于创建可执行 jars
...Gradle 安装org.springframework.boot spring-boot-starter-parent 1.5.3.RELEASE org.springframework.boot spring-boot-starter-web ... org.springframework.boot spring-boot-maven-plugin
略
使用 StartersStarters 是一个依赖描述符的集合,你可以将它包含进项目中,这样添加依赖就非常方便。你可以获取所有 Spring 及相关技术的一站式服务,而不需要翻阅示例代码,拷贝粘贴大量的依赖描述符。例如,如果你想使用 Spring 和 JPA 进行数据库访问,只需要在项目中包含spring-boot-starter-data-jpa依赖,然后你就可以开始了。
该 starters 包含很多搭建,快速运行项目所需的依赖,并提供一致的,可管理传递性的依赖集。
以下应用程序 starters 是 Spring Boot 在 org.springframework.boot group 下提供的:
名称 | 描述 |
---|---|
spring-boot-starter | 核心Starter,包含了自动配置,日志,YAML配置 |
名称 | 描述 |
---|---|
spring-boot-starter-web | 用于使用Spring MVC构建web应用,包括RESTful。Tomcat是默认的内嵌容器 |
spring-boot-starter-web-services | 对Spring Web服务的支持 |
spring-boot-starter-websocket | 对Spring WebSocket支持 |
spring-boot-starter-mobile | 用于使用Spring Mobile开发web应用 |
spring-boot-starter-jersey | 用于使用JAX-RS和Jersey构建RESTful web应用,spring-boot-starter-web的替代方案 |
spring-boot-starter-hateoas | 用于使用基于hypermedia-based RESTful web 应用 |
名称 | 描述 |
---|---|
spring-boot-starter-jdbc | 对JDBC的支持(使用Tomcat JDBC连接池) |
spring-boot-starter-data-redis | 用于使用通过Jedis客户端操作的Redis |
spring-boot-starter-data-mongodb | 用于使用基于文档的数据库MongoDB |
spring-boot-starter-data-cassandra | 用于使用分布式数据库Cassandra |
spring-boot-starter-data-solr | 用于使用Apache Solr |
spring-boot-starter-data-elasticsearch | 用于使用Elasticsearch搜索 |
spring-boot-starter-data-couchbase | 用于使用基于文档的数据库Couchbase |
spring-boot-starter-data-gemfire | 用于使用分布式数据存储GemFire |
spring-boot-starter-data-neo4j | 用于使用图数据库Neo4j |
spring-boot-starter-data-ldap | 用于使用 Spring Data LDAP |
spring-boot-starter-data-jpa | 用于使用Hibernate实现Spring Data JPA |
spring-boot-starter-data-rest | 用于使用 Spring Data REST |
名称 | 描述 |
---|---|
spring-boot-starter-jta-atomikos | 用于使用Atomikos实现JTA事务 |
spring-boot-starter-jta-bitronix | 用于使用Bitronix实现JTA事务 |
spring-boot-starter-jta-narayana | 用于使用Narayana 实现JTA事务 |
名称 | 描述 |
---|---|
spring-boot-starter-thymeleaf | 用于使用Thymeleaf模板引擎构建MVC web应用 |
spring-boot-starter-freemarker | 用于使用FreeMarker模板引擎构建MVC web应用 |
spring-boot-starter-mustache | 用于使用Mustache模板引擎构建MVC web应用 |
spring-boot-starter-groovy-templates | 用于使用groovy模板引擎构建MVC web应用 |
名称 | 描述 |
---|---|
spring-boot-starter-activemq | 用于使用Apache ActiveMQ实现JMS消息 |
spring-boot-starter-artemis | 用于使用Apache Artemis实现JMS消息 |
spring-boot-starter-amqp | 用于使用AMQP与Rabbit MQ消息队列 |
名称 | 描述 |
---|---|
spring-boot-starter-mail | 用于使用Java Mail和Spring框架email发送支持 |
spring-boot-starter-integration | 用于使用Spring Integration |
spring-boot-starter-security | 对Spring Security的支持 |
spring-boot-starter-test | 用于测试Spring Boot应用,支持常用测试类库,包括JUnit, Hamcrest和Mockito |
spring-boot-starter-batch | 用于使用Spring Batch |
spring-boot-starter-cache | 用于使用Spring框架的缓存支持 |
spring-boot-starter-actuator | 为Spring Boot提供了监控与管理 |
spring-boot-starter-aop | 用于使用Spring AOP和AspectJ实现面向切面编程 |
spring-boot-starter-validation | 用于使用Hibernate Validator实现Java Bean校验 |
spring-boot-starter-logging | 用于Logback支持,默认的logging starter |
spingg-boot-starter-log4j2 | 用于Log4j2支持,用于替换默认的logging |
名称 | 描述 |
---|---|
spring-boot-starter-social-linkedin | 用于使用Spring Social Linkedin的支持 |
spring-boot-starter-social-facebook | 用于使用Spring Social Facebook的支持 |
spring-boot-starter-social-twitter | 用于使用Spring Social Twitter的支持 |
下面可以获取一个社区贡献的 starters 列表:
https://github.com/spring-pro...
名称 | 描述 |
---|---|
grpc-spring-boot-starter | 用于支持gRPC |
mybatis-spring-boot | 用于支持Mybatis |
okhttp-spring-boot | 用于支持OkHttp |
下面是个典型的结构,建议把应用的main类放到包的顶层
com +- example +- myproject +- Application.java | +- domain | +- Customer.java | +- CustomerRepository.java | +- service | +- CustomerService.java | +- web +- CustomerController.java@SpringBootApplication注解
@SpringBootApplication注解等价于以默认属性使用:
@Configuration
@EnableAutoConfiguration
@ComponentScan
java -jar target/myproject-0.0.1-SNAPSHOT.jar通过 Maven 插件运行
mvn spring-boot:run
可以使用一些有用的环境变量:
export MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=128M热交换
彻底的的解决可以使用:Spring Loaded 项目或 JRebel
spring-boot-devtools 支持应用的快速重启
配置 Application 属性文件SpringApplication将从以下位置加载 application.properties 文件,并把它们添加到Spring:
当前目录下的/config 子目录。
当前目录。
classpath下的/config包。
classpath根路径(root)。
命令行属性SpringApplication会将所有命令行配置参数(以"--"开头,比如--server.port=9000)转化成一个property,并将其添加到Spring Environment中
命令行属性总是优先于其他属性源。
日志级别通过 --debug 标识开启控制台DEBUG级别日志记录,也可以在 application.properties中指定 debug=true
java -jar myapp.jar --debug
日志级别配置示例:
logging.level.root=WARN logging.level.org.springframework.web=DEBUG logging.level.org.hibernate=ERROR
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/67255.html
环境:Spring Boot 1.5.4 基于 Spring Boot 创建一个命令行应用,先来个最基本的体验,体验一下: 配置管理(配置文件加载,多环境配置文件) 日志 单元测试 创建项目 比较好的两种方法: 通过 https://start.spring.io/ 网站,生成...
环境:Spring Boot 1.5.4 基于 Spring Boot 可以快速创建一个Web & Restful 应用,在开始应用之前,至少要了解以下用法: 定义路由,定义 HTTP 方法 获取Header、GET、POST、路径等参数 Cookie、Session操作 应用一个模板引擎,选择 Thymeleaf ...
本文只是引子,后续更新到独立章节。 环境:Spring Boot 1.5.4 到了操作数据库的环节,以 MySQL 为基准,体验一下数据库的相关操作,先让我纠结一下,至少有以下四种姿势。 JDBC。原生的 JDBC 操作,原生的 SQL语句,写一大堆...
...1.8 Maven 3.5.2 Spring Boot 2.1.3.RELEASE 工程名:springboot-webflux-1-quickstart 工程地址:见文末 一、Spring Boot 2.0 spring.io 官网有句醒目的话是: BUILD ANYTHING WITH SPRING BOOT Spring Boot (Boot 顾名思义,是引导的意思)框架是用于简化 Spring 应用...
接(4) - Database 系列. Java Persistence API,可以理解就是 Java 一个持久化标准或规范,Spring Data JPA 是对它的实现。并且提供多个 JPA 厂商适配,如 Hibernate、Apache 的 OpenJpa、Eclipse的EclipseLink等。 spring-boot-starter-data-jpa 默认使用的是 Hi...
阅读 2259·2021-11-11 16:54
阅读 1994·2021-10-09 09:44
阅读 2180·2019-08-30 15:54
阅读 1720·2019-08-30 11:24
阅读 906·2019-08-29 17:03
阅读 1874·2019-08-29 16:22
阅读 1843·2019-08-29 13:11
阅读 690·2019-08-29 12:14