springboot spring

1.简化了spring配置,注解方式,好维护;

2.自身封装了运行环境,直接打成jar包运行;只需要通过java –jar 的方式即可启动应用程序;可以通过配置插件,为springboot提供不同类型的容器

3.有自己的starter,简化maven依赖;起步依赖:

向项目中添加依赖是件富有挑战的事。你需要什么库?它的Group和Artifact是什么?你需要哪个版本?哪个版本不会和项目中的其他依赖发生冲突?Spring Boot通过起步依赖为项目的依赖管理提供帮助。起步依赖其实就是特殊的Maven依赖和Gradle依赖,利用了传递依赖解析,把常用库聚合在一起,组成了几个为特定功能而定制的依赖。举个例子,假设你正在用Spring MVC构造一个REST API,并将JSON(JavaScript Object Notation)作为资源表述。此外,你还想运用遵循JSR-303规范的声明式校验,并使用嵌入式的Tomcat服务器来提供服务。要实现以上目标,你在Maven或Gradle里至少需要以下8个依赖:


org.springframework:spring-core 
org.springframework:spring-web 
org.springframework:spring-webmvc 
com.fasterxml.jackson.core:jackson-databind 
org.hibernate:hibernate-validator
org.apache.tomcat.embed:tomcat-embed-core org.apache.tomcat.embed:tomcat-embed-el 
org.apache.tomcat.embed:tomcat-embed-logging-juli
org.springframework:spring-core 
org.springframework:spring-web 
org.springframework:spring-webmvc 
com.fasterxml.jackson.core:jackson-databind 
org.hibernate:hibernate-validator
org.apache.tomcat.embed:tomcat-embed-core org.apache.tomcat.embed:tomcat-embed-el 
org.apache.tomcat.embed:tomcat-embed-logging-juli

不过,如果打算利用Spring Boot的起步依赖,你只需添加Spring Boot的Web起步依赖(org.springframework.boot:spring-boot-starter-web),仅此一个。它会根据依赖传递把其他所需依赖引入项目里,你都不用考虑它们。


比起减少依赖数量,起步依赖还引入了一些微妙的变化。向项目中添加了Web起步依赖,实际上指定了应用程序所需的一类功能(条件注入:发现有相应包就自动配置相应功能, @ConditionalOn*)。因为应用是个We b应用程序,所以加入了We b起步依赖。与之类似,如果应用程序要用到JPA持久化,那么就可以加入jpa起步依赖。如果需要安全功能,那就加入security起步依赖。 
简而言之,你不再需要考虑支持某种功能要用什么库了,引入相关起步依赖就行。此外,Spring Boot的起步依赖还把你从“需要这些库的哪些版本”这个问题里解放了出来。起步依赖引入的库的版本都是经过测试的,因此你可以完全放心,它们之间不会出现不兼容的情况。

4.JavaEE仅仅使用Spring逐渐变得笨重起来,大量的XML文件存在与项目中,繁琐的配置,整合第三方框架的配置问题,低下的开发效率和部署效率等等问题。


Spring Boot解决的问题
(1) Spring Boot使编码变简单 
(2) Spring Boot使配置变简单 
(3) Spring Boot使部署变简单 
(4) Spring Boot使监控变简单 
(5) Spring的不足


Spring Boot主要特性
(1)使用Spring Boot只需要很少的配置,大部分的时候我们直接使用默认的配置即可; 
(2)项目快速搭建,可以无需配置的自动整合第三方的框架; 
(3)可以完全不使用XML配置文件,只需要自动配置(注解)和Java Config; 
(4)内嵌Servlet容器,降低了对环境的要求; 
(5)提供starter简化Manen配置,Spring Boot提供了一系列的starter pom用来简化我们的Maven依赖; 
(6)运行中应用状态的监控;

猜你喜欢

转载自blog.csdn.net/u014161595/article/details/81060514