资讯专栏INFORMATION COLUMN

Spring Boot QuickStart (1)

klinson / 669人阅读

摘要:开始介绍简化了基于的应用开发,你只需要就能创建一个独立的,产品级别的应用。该包含很多搭建,快速运行项目所需的依赖,并提供一致的,可管理传递性的依赖集。日志级别通过标识开启控制台级别日志记录,也可以在中指定日志级别配置示例

开始 介绍

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

...

   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
       
   
   
...
Gradle 安装

使用 Starters

Starters 是一个依赖描述符的集合,你可以将它包含进项目中,这样添加依赖就非常方便。你可以获取所有 Spring 及相关技术的一站式服务,而不需要翻阅示例代码,拷贝粘贴大量的依赖描述符。例如,如果你想使用 Spring 和 JPA 进行数据库访问,只需要在项目中包含spring-boot-starter-data-jpa依赖,然后你就可以开始了。

该 starters 包含很多搭建,快速运行项目所需的依赖,并提供一致的,可管理传递性的依赖集。

以下应用程序 starters 是 Spring Boot 在 org.springframework.boot group 下提供的:

名称 描述
spring-boot-starter 核心Starter,包含了自动配置,日志,YAML配置
Web
名称 描述
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

下面可以获取一个社区贡献的 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

运行 通过 jar 运行
 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 QuickStart (2) - 基础

    摘要:比如日志默认使用作为第一选择,默认集成了,并且支持配置使用貌似和有点变化,暂时不折腾了单元测试 环境:Spring Boot 1.5.4 基于 Spring Boot 创建一个命令行应用,先来个最基本的体验,体验一下: 配置管理(配置文件加载,多环境配置文件) 日志 单元测试 创建项目 比较好的两种方法: 通过 https://start.spring.io/ 网站,生成项目框架...

    zgbgx 评论0 收藏0
  • Spring Boot QuickStart (3) - Web & Restful

    摘要:不过可以切换到版本,兼容性未知。注解一旦添加了依赖会判断这是一个应用,并启动一个内嵌的容器默认是用于处理请求。注意中空字符串与的区别。 环境:Spring Boot 1.5.4 基于 Spring Boot 可以快速创建一个Web & Restful 应用,在开始应用之前,至少要了解以下用法: 定义路由,定义 HTTP 方法 获取Header、GET、POST、路径等参数 Cooki...

    chnmagnus 评论0 收藏0
  • Spring Boot QuickStart (4) - Database

    摘要:本文只是引子,后续更新到独立章节。尤其是,这也是现在号称流行的组合。幸亏现在看起来不主流了。增删改查多条件组合查询分页,排序等多表关联。而每个类写上构造函数,,实在是蛋疼。 本文只是引子,后续更新到独立章节。 环境:Spring Boot 1.5.4 到了操作数据库的环节,以 MySQL 为基准,体验一下数据库的相关操作,先让我纠结一下,至少有以下四种姿势。 JDBC。原生的 JD...

    FrozenMap 评论0 收藏0
  • Spring Boot 2 快速教程:WebFlux 快速入门(二)

    摘要:响应式编程是基于异步和事件驱动的非阻塞程序,只是垂直通过在内启动少量线程扩展,而不是水平通过集群扩展。三特性常用的生产的特性如下响应式编程模型适用性内嵌容器组件还有对日志消息测试及扩展等支持。 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 02:WebFlux 快速入门实践 文章工程: JDK...

    gaara 评论0 收藏0
  • Spring Boot QuickStart (5) - Spring Data JPA

    摘要:关联关系的关联关系定义上,感觉并不是很灵活,姿势也比较难找。如,定义在关联关系上的参数可以设置级联的相关东西。因为序列化会涉及到实体类关联对象的获取,会触发所有的关联关系。 接(4) - Database 系列. Java Persistence API,可以理解就是 Java 一个持久化标准或规范,Spring Data JPA 是对它的实现。并且提供多个 JPA 厂商适配,如 Hi...

    sutaking 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<