SpringBoot深入了解
核心配置文件
application 配置文件,主要用于 Spring Boot 项目的自动化配置。
bootstrap 配置文件有以下几个应用场景。
使用 Spring Cloud Config 配置中心时,这时需要在 bootstrap 配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;
一些固定的不能被覆盖的属性;
一些加密/解密的场景;
启动类注解@SpringBootApplication
包含:
@SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
@EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能:@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。
@ComponentScan:Spring组件扫描。
启动器Starters(转)
Name | Description | 备注 |
---|---|---|
spring-boot-starter-thymeleaf | 使MVC Web applications 支持Thymeleaf | Thymeleaf是一个JAVA库,一个XML/XHTML/HTML5的可扩展的模板引擎,同类事物:Jsp |
spring-boot-starter-data-couchbase | 使用Couchbase 文件存储数据库、Spring Data Couchbase | Spring Data是一个用于简化数据库访问,并支持云服务的开源框架 |
spring-boot-starter-artemis | 为JMS messaging使用Apache Artemis | JMS是Java消息服务;HornetQ代码库捐献给 Apache ActiveMQ 社区,它现在成为ActiveMQ旗下的一个子项目,名为 “Artemis” |
spring-boot-starter-web-services | 使用Spring Web Services | Spring Web Services是基于Spring框架的Web服务框架,主要侧重于基于文档驱动的Web服务,提供SOAP服务开发,允许通过多种方式创建 Web 服务。 |
spring-boot-starter-mail | 使用Java Mail、Spring email发送支持 | Java Mail、Spring email为邮件发送工具 |
spring-boot-starter-data-redis | 通过Spring Data Redis 、Jedis client使用Redis键值存储数据库 | Jedis 是 Redis 官方首选的 Java 客户端开发包 |
spring-boot-starter-web | 构建Web,包含RESTful风格框架SpringMVC和默认的嵌入式容器Tomcat | RESTful是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件 |
spring-boot-starter-activemq | 为JMS使用Apache ActiveMQ | ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线 |
spring-boot-starter-data-elasticsearch | 使用Elasticsearch、analytics engine、Spring Data Elasticsearch | ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口 |
spring-boot-starter-integration | 使用Spring Integration | Spring Integration是Spring框架创建的一个API,面向企业应用集成(EAI) |
spring-boot-starter-test | 测试 Spring Boot applications包含JUnit、 Hamcrest、Mockito | JUnit、 Hamcrest、Mockito为测试框架 |
spring-boot-starter-jdbc | 通过 Tomcat JDBC 连接池使用JDBC | |
spring-boot-starter-mobile | 通过Spring Mobile构建Web应用 | Spring Mobile 是 Spring MVC 的扩展,用来简化手机上的Web应用开发 |
spring-boot-starter-validation | 通过Hibernate Validator使用 Java Bean Validation | Bean Validation 是一个数据验证的规范;Hibernate Validator是一个数据验证框架 |
spring-boot-starter-hateoas | 使用Spring MVC、Spring HATEOAS构建 hypermedia-based RESTful Web 应用 | hypermedia-based似乎是专业术语,博主表示不会翻译;Spring HATEOAS 是一个用于支持实现超文本驱动的 REST Web 服务的开发库 |
spring-boot-starter-jersey | 通过 JAX-RS、Jersey构建 RESTful web applications;spring-boot-starter-web的另一替代方案 | JAX-RS是JAVA EE6 引入的一个新技术;Jersey不仅仅是一个JAX-RS的参考实现,Jersey提供自己的API,其API继承自JAX-RS,提供更多的特性和功能以进一步简化RESTful service和客户端的开发 |
spring-boot-starter-data-neo4j | 使用Neo4j图形数据库、Spring Data Neo4j | Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中 |
spring-boot-starter-websocket | 使用Spring WebSocket构建 WebSocket 应用 | Websocket是一个持久化的协议,相对于HTTP这种非持久的协议来说 |
spring-boot-starter-aop | 通过Spring AOP、AspectJ面向切面编程 | AspectJ是一个面向切面的框架,它扩展了Java语言 |
spring-boot-starter-amqp | 使用Spring AMQP、Rabbit MQ | Spring AMQP 是基于 Spring 框架的 AMQP 消息解决方案,提供模板化的发送和接收消息的抽象层,提供基于消息驱动的 POJO;RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统 |
spring-boot-starter-data-cassandra | 使用Cassandra分布式数据库、Spring Data Cassandra | Apache Cassandra是一套开源分布式NoSQL数据库系统 |
spring-boot-starter-social-facebook | 使用 Spring Social Facebook | Facebook提供用户使用第三方社交网络的账号API,同类事物:QQ第三方登录接口 |
spring-boot-starter-jta-atomikos | 为 JTA 使用 Atomikos | JTA,即Java Transaction API,JTA允许应用程序执行分布式事务处理;Atomikos 是一个为Java平台提供增值服务的并且开源类事务管理 |
spring-boot-starter-security | 使用 Spring Security | Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架 |
spring-boot-starter-mustache | 使MVC Web applications 支持Mustache | Mustache是基于JavaScript实现的模版引擎,类似于jQuery Template,但是这个模版更加的轻量级,语法更加的简单易用,很容易上手 |
spring-boot-starter-data-jpa | 通过 Hibernate 使用 Spring Data JPA (Spring-data-jpa依赖于Hibernate) | JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中 |
spring-boot-starter | Core starter,包括 自动配置支持、 logging and YAML | logging是指的Starter的专有框架;YAML是“另一种标记语言”的外语缩写,它参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822 |
spring-boot-starter-groovy-templates | 使MVC Web applications 支持Groovy Templates | Groovy Templates是模视图模板,同类事物:Jsp |
spring-boot-starter-freemarker | 使MVC Web applications 支持 FreeMarker | FreeMarker是模视图模板,同类事物:Jsp |
spring-boot-starter-batch | 使用Spring Batch | Spring Batch是一个轻量级的,完全面向Spring的批处理框架,可以应用于企业级大量的数据处理系统 |
spring-boot-starter-social-linkedin | 使用Spring Social LinkedIn | LinkedIn提供用户使用第三方社交网络的账号API,同类事物:QQ第三方登录接口 |
spring-boot-starter-cache | 使用 Spring caching 支持 | Spring caching是Spring的提供的缓存框架 |
spring-boot-starter-data-solr | 通过 Spring Data Solr 使用 Apache Solr | Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现 |
spring-boot-starter-data-mongodb | 使用 MongoDB 文件存储数据库、Spring Data MongoDB | Spring Data是一个用于简化数据库访问,并支持云服务的开源框架 |
spring-boot-starter-jooq | 使用JOOQ链接SQL数据库;spring-boot-starter-data-jpa、spring-boot-starter-jdbc的另一替代方案 | jOOQ(Java Object Oriented Querying,即面向Java对象查询)是一个高效地合并了复杂SQL、类型安全、源码生成、ActiveRecord、存储过程以及高级数据类型的Java API的类库。 |
spring-boot-starter-jta-narayana | Spring Boot Narayana JTA Starter | 似乎和jboss.narayana.jta有关 |
spring-boot-starter-cloud-connectors | 用连接简化的 Spring Cloud 连接器进行云服务就像Cloud Foundry、Heroku那样 | Cloud Foundry是VMware推出的业界第一个开源PaaS云平台;Heroku是一个支持多种编程语言的云平台即服务 |
spring-boot-starter-jta-bitronix | 为JTA transactions 使用 Bitronix | Bitronix Transaction Manager (BTM) 是一个简单但完整实现了 JTA 1.1 API 的类库,完全支持 XA 事务管理器,提供 JTA API 所需的所有服务,并让代码保持简洁 |
spring-boot-starter-social-twitter | 使用 Spring Social Twitter | Twitter提供用户使用第三方社交网络的账号API,同类事物:QQ第三方登录接口 |
spring-boot-starter-data-rest | 使用Spring Data REST 以 REST 方式暴露 Spring Data repositories | 博主也不是很明白。原文:exposing Spring Data repositories over REST using Spring Data REST |
Spring Boot production starters
下列 starters 可用于添加production ready 功能
Name | Description | 备注 |
---|---|---|
spring-boot-starter-actuator | 使用Spring Boot Actuator 的 production-ready 功能来帮助你监视和管理应用 | production-ready 目前博主不知道该如何翻译 |
Spring Boot technical starters
最后, Spring Boot 还包括一些 starters ,如果你想剔除或替换某些专门的功能,你可以使用这些 starters :
Name | Description | 备注 |
---|---|---|
spring-boot-starter-undertow | 使用 Undertow 作为嵌入式服务容器;spring-boot-starter-tomcat的另一替代方案 | Undertow是JBoss开源组织旗下一款Web服务器的名称 |
spring-boot-starter-jetty | 使用 Jetty 作为嵌入式服务容器;spring-boot-starter-tomcat的另一替代方案 | Jetty 是开源 Java 应用服务器,有篇英语新闻译文称“Webtide —— Jetty背后的公司” |
spring-boot-starter-logging | 为 logging 使用Logback.默认 logging starter | Logback是由log4j创始人设计的又一个开源日志组件 |
spring-boot-starter-tomcat | 使用 Tomcat 作为嵌入式服务容器;作为默认嵌入式服务容器被spring-boot-starter-web使用 | |
spring-boot-starter-log4j2 | 使用Log4j2记录日志;spring-boot-starter-logging的另一替代方案 |
剔除logging使用log4j栗子:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<!-- 剔除logging -->
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 添加Log4j -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
</dependencies>
注意
.yml 格式不支持 @PropertySource
注解导入配置
SpringBoot深入了解的更多相关文章
- 解决 Springboot Unable to build Hibernate SessionFactory @Column命名不起作用
问题: Springboot启动报错: Caused by: org.springframework.beans.factory.BeanCreationException: Error creati ...
- 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo
Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...
- Springboot搭建web项目
最近因为项目需要接触了springboot,然后被其快速零配置的特点惊呆了.关于springboot相关的介绍我就不赘述了,大家自行百度google. 一.pom配置 首先,建立一个maven项目,修 ...
- Java——搭建自己的RESTful API服务器(SpringBoot、Groovy)
这又是一篇JavaWeb相关的博客,内容涉及: SpringBoot:微框架,提供快速构建服务的功能 SpringMVC:Struts的替代者 MyBatis:数据库操作库 Groovy:能与Java ...
- 解决 SpringBoot 没有主清单属性
问题:SpringBoot打包成jar后运行提示没有主清单属性 解决:补全maven中的bulid信息 <plugin> <groupId>org.springframewor ...
- SpringBoot中yaml配置对象
转载请在页首注明作者与出处 一:前言 YAML可以代替传统的xx.properties文件,但是它支持声明map,数组,list,字符串,boolean值,数值,NULL,日期,基本满足开发过程中的所 ...
- springboot 学习资源推荐
springboot 是什么?对于构建生产就绪的Spring应用程序有一个看法. Spring Boot优先于配置的惯例,旨在让您尽快启动和运行.(这是springboot的官方介绍) 我们为什么要学 ...
- Springboot框架
本片文章主要分享一下,Springboot框架为什么那么受欢迎以及如何搭建一个Springboot框架. 我们先了解一下Springboot是个什么东西,它是干什么用的.我是刚开始接触,查了很多资料, ...
- 如何在SpringBoot中使用JSP ?但强烈不推荐,果断改Themeleaf吧
做WEB项目,一定都用过JSP这个大牌.Spring MVC里面也可以很方便的将JSP与一个View关联起来,使用还是非常方便的.当你从一个传统的Spring MVC项目转入一个Spring Boot ...
- 5分钟创建一个SpringBoot + Themeleaf的HelloWord应用
第一步:用IDE创建一个普通maven工程,我用的eclipse. 第二步:修改pom.xml,加入支持SpringBoot和Themeleaf的依赖,文件内容如下: <?xml version ...
随机推荐
- 订单支付倒计时-剩余时间xx小时xx分xx秒
//<input type="hidden" id="endTime" value="1554912000000"> 结束时间 ...
- Tomcat配置JNDI
JNDI是什么?使用JNDI有什么好处? JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一. 我个人对j ...
- 2019-11-29-Roslyn-通过-NuGet-库修改应用程序入口函数
title author date CreateTime categories Roslyn 通过 NuGet 库修改应用程序入口函数 lindexi 2019-11-29 08:37:49 +080 ...
- MyBatis--把SQL带进Java
简单来看软件服务的工作流程:用户端界面操作请求<---->本地处理|远程服务程序拦截转发请求<---->服务端逻辑功能实现<--MyBatis用在这里-->数据库. ...
- 一,python简介 笔记
python历史 1,1989年圣诞节,Guido von Rossum开始编写python语言编译器 2,1991年2月,第一个python编译器诞生,是c语言实现的,后面又出现了c#和java版本 ...
- c++ 实现https网页上的图片爬取
一.主要的原理 我们通过发送一个http请求,获得目标网页的html源代码,然后通过正则表达式获取到图片的URL,把该网页的所有的图片都保存到一个文件夹,这就是整个软件的流程. 二.具体的实践 现在很 ...
- PAT Basic 1018 锤子剪刀布 (20 分)
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入第 1 行给出正整数 ...
- HTML5 App的代码注入攻击
原文链接 摘要 基于HTML5的手机app(译者注:以下简称HTML5 app)越来越流行了, 在大多数情况下它比native应用更容易适配不同的移动操作系统.它开发起来很方便,可以使用标准的web技 ...
- maven模块开发(转)
所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml.它们之间通过继承和聚合(也称作多模块,multi-module)相互关联.那么,为什么要这么做呢?我们明明在开发一 ...
- 用Ant实现Java项目的自动构建和部署(转载以作收藏)
原文地址:http://tech.it168.com/j/2007-11-09/200711091344781.shtml 本文请勿转载! Ant是一个Apache基金会下的跨平台的构件 ...