Spring Boot 项目提供了快速启动一个Spring项目,假设一个使用Hibernate2的CRUD的web应用项目,Maven配置如下:
org.springframework.boot
spring-boot-starter-parent
0.5.0.BUILD-SNAPSHOT
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-data-jpa
org.thymeleaf
thymeleaf-spring3
org.springframework.boot
spring-boot-starter-jetty
org.hsqldb
hsqldb
runtime
junit
junit
test
org.hamcrest
hamcrest-library
test
org.springframework.boot
spring-boot-maven-plugin
而如果你使用传统方式配置Maven项目,将是下面可怕的配置:
.....
junit
junit
4.11
test
org.hamcrest
hamcrest-core
1.2.1
org.hamcrest
hamcrest-library
1.2.1
log4j
log4j
1.2.16
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
jcl-over-slf4j
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
org.aspectj
aspectjrt
${aspectj.version}
org.aspectj
aspectjweaver
${aspectj.version}
javax.servlet
javax.servlet-api
3.0.1
provided
net.sf.flexjson
flexjson
2.0
org.springframework
spring-core
${spring.version}
commons-logging
commons-logging
org.springframework
spring-test
${spring.version}
test
commons-logging
commons-logging
org.springframework
spring-context
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-aspects
${spring.version}
org.springframework
spring-tx
${spring.version}
com.h2database
h2
${h2.version}
org.hibernate
hibernate-core
${hibernate.version}
org.hibernate
hibernate-entitymanager
${hibernate.version}
cglib
cglib
dom4j
dom4j
org.hibernate.javax.persistence
hibernate-jpa-2.0-api
1.0.0.Final
org.hibernate
hibernate-validator
4.3.0.Final
javax.xml.bind
jaxb-api
com.sun.xml.bind
jaxb-impl
javax.validation
validation-api
1.0.0.GA
javax.transaction
jta
1.1
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-orm
${spring.version}
commons-pool
commons-pool
1.5.4
commons-logging
commons-logging
commons-io
commons-io
2.4
commons-dbcp
commons-dbcp
1.3
commons-logging
commons-logging
commons-pool
commons-pool
xerces
xerces
xerces
xercesImpl
xml-apis
xml-apis
com.fasterxml.jackson.core
jackson-core
2.2.1
com.fasterxml.jackson.core
jackson-databind
2.2.1
com.fasterxml.jackson.module
jackson-module-jaxb-annotations
2.2.1
org.apache.tiles
tiles-core
2.2.1
commons-logging
commons-logging
org.apache.tiles
tiles-jsp
2.2.1
org.springframework
spring-web
${spring.version}
commons-logging
commons-logging
org.springframework
spring-webmvc
${spring.version}
commons-logging
commons-logging
commons-digester
commons-digester
2.0
commons-logging
commons-logging
commons-fileupload
commons-fileupload
1.2.1
commons-logging
commons-logging
org.apache.commons
commons-lang3
3.1
javax.servlet
jstl
1.2
javax.el
el-api
1.0
provided
joda-time
joda-time
1.6
javax.servlet.jsp
jsp-api
2.1
provided
org.springframework.security
spring-security-core
${spring-security.version}
commons-logging
commons-logging
org.springframework.security
spring-security-config
${spring-security.version}
commons-logging
commons-logging
org.springframework.security
spring-security-web
${spring-security.version}
org.springframework.security
spring-security-taglibs
${spring-security.version}
com.googlecode.flyway
flyway-core
1.7
org.springframework.data
spring-data-jpa
${spring-data-jpa.version}
...
使用SpringBoot的好处有:
1.使用mvn spring:boot直接启动一个Web应用。
它提供了一种classpath中可用的嵌入式Tomcat或Jetty容器和自动配置应用,而无需提供任何明确的配置,由用户库的基础上快速地运行应用程序 - 例如。如果发现HSQLDB库在classpath中,它会自动配置数据源与HSQLDB作为嵌入式数据库,如果在classpath中发现thymeleaf jar,它会自动配置thymeleaf作为模板引擎,如果发现Hibernate库在classpath中,那么它会自动使用休眠作为JPA提供者。
2.提供缺省的依赖。
提供了一个必需的以及测试的依赖,还有Spring生态系统的相关项目。例如。与SLF4J的logback作为测试依赖,使用的Servlet 3.0+的API,杰克逊Jackson 2.2对JSON处理,网页模板thymeleaf。
Spring Boot 的详细介绍:请点这里
Spring Boot 的下载地址:请点这里