SpringBoot简介
第一阶段:XML配置,在Spring1.x时代,使用Spring开发满眼都是xml配置的Bean,随着项目的扩大,我们需要把xml配置文件分放到不同的配置文件里,那时候需要频繁的在开发的类和配置文件之间切换。
第二阶段:注解配置,在Spring2.x时代,Spring提供声明Bean的注解,大大减少了配置量。应用的基本配置用xml,业务配置用注解。
第三阶段:Java配置,从Spring3.x到现在,Spring提供了Java配置,使用Java配置可以让你更理解你所配置的Bean。
Spring Boot:使用“习惯优于配置”的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。
同类技术有那些?
- jboot,SSM
- Spring框架
- SpringMvc框架
- ssmk框架
- jboot框架
对比同类的优缺点是什么?
优点:
- 1、快速构建项目。
- 2、对主流开发框架的无配置集成。
- 3、项目可独立运行,无须外部依赖Servlet容器
- 4、提供运行时的应用监控。
- 5、极大的提高了开发、部署效率。
- 6、与云计算的天然集成。
缺点:
- 1、如果你不认同spring框架,也许这就是缺点。
- 2、SpringBoot特性
- 3、创建独立的Spring项目
- 4、内置Tomcat和Jetty容器
- 5、提供一个starter POMs来简化Maven配置
- 6、提供了一系列大型项目中常见的非功能性特性,如安全、指标,健康检测、外部配置等
- 7、完全没有代码生成和xml配置文件
组成部分
- 1、spring-boot-starter
这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。 - 2、spring-boot-starter-actuator
帮助监控和管理应用。 - 3、spring-boot-starter-amqp
通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol)。 - 4、spring-boot-starter-aop
支持面向方面的编程即AOP,包括spring-aop和AspectJ。 - 5、spring-boot-starter-artemis
通过Apache Artemis支持JMS的API(Java Message Service API)。 - 6、spring-boot-starter-batch
支持Spring Batch,包括HSQLDB数据库。 - 7、spring-boot-starter-cache
支持Spring的Cache抽象。 - 8、spring-boot-starter-cloud-connectors
支持Spring Cloud Connectors,简化了在像Cloud Foundry或Heroku这样的云平台上连接服务。 - 9、spring-boot-starter-data-elasticsearch
支持ElasticSearch搜索和分析引擎,包括spring-data-elasticsearch。 - 10、spring-boot-starter-data-gemfire
支持GemFire分布式数据存储,包括spring-data-gemfire。 - 11、spring-boot-starter-data-jpa
支持JPA(Java Persistence API),包括spring-data-jpa、spring-orm、Hibernate。 - 12、spring-boot-starter-data-mongodb
支持MongoDB数据,包括spring-data-mongodb。 - 13、spring-boot-starter-data-rest
通过spring-data-rest-webmvc,支持通过REST暴露Spring Data数据仓库。 - 14、spring-boot-starter-data-solr
支持Apache Solr搜索平台,包括spring-data-solr。 - 15、spring-boot-starter-freemarker
支持FreeMarker模板引擎。 - 16、spring-boot-starter-groovy-templates
支持Groovy模板引擎。 - 17、spring-boot-starter-hateoas
通过spring-hateoas支持基于HATEOAS的RESTful Web服务。 - 18、spring-boot-starter-hornetq
通过HornetQ支持JMS。 - 19、spring-boot-starter-integration
支持通用的spring-integration模块。 - 20、spring-boot-starter-jdbc
支持JDBC数据库。 - 21、spring-boot-starter-jersey
支持Jersey RESTful Web服务框架。 - 22、spring-boot-starter-jta-atomikos
通过Atomikos支持JTA分布式事务处理。 - 23、spring-boot-starter-jta-bitronix
通过Bitronix支持JTA分布式事务处理。 - 24、spring-boot-starter-mail
支持javax.mail模块。 - 25、spring-boot-starter-mobile
支持spring-mobile。 - 26、spring-boot-starter-mustache
支持Mustache模板引擎。 - 27、spring-boot-starter-redis
支持Redis键值存储数据库,包括spring-redis。 - 28、spring-boot-starter-security
支持spring-security。 - 29、spring-boot-starter-social-facebook
支持spring-social-facebook - 30、spring-boot-starter-social-linkedin
支持pring-social-linkedin - 31、spring-boot-starter-social-twitter
支持pring-social-twitter - 32、spring-boot-starter-test
支持常规的测试依赖,包括JUnit、Hamcrest、Mockito以及spring-test模块。 - 33、spring-boot-starter-thymeleaf
支持Thymeleaf模板引擎,包括与Spring的集成。 - 34、spring-boot-starter-velocity
支持Velocity模板引擎。 - 35、spring-boot-starter-web
S支持全栈式Web开发,包括Tomcat和spring-webmvc。 - 36、spring-boot-starter-websocket
支持WebSocket开发。 - 37、spring-boot-starter-ws
支持Spring Web Services。 - 38、spring-boot-starter-actuator
增加了面向产品上线相关的功能,比如测量和监控。 - 39、spring-boot-starter-remote-shell
增加了远程ssh shell的支持。 - 40、spring-boot-starter-jetty
引入了Jetty HTTP引擎(用于替换Tomcat)。 - 41、spring-boot-starter-log4j
支持Log4J日志框架。 - 42、spring-boot-starter-logging
引入了Spring Boot默认的日志框架Logback。 - 43、spring-boot-starter-tomcat
引入了Spring Boot默认的HTTP引擎Tomcat。 - 44、spring-boot-starter-undertow
引入了Undertow HTTP引擎(用于替换Tomcat)。
解决什么问题?
- Java 项目开发复杂度高以及维护困难的问题
没有这个技术前怎么做的
在 Spring 之中整合 RabbitMQ、Kafka、ActiveMQ、MySQL、 Druid、Redis、Shiro,编写*.xml 配置文件