Luckylau's Blog

SpringBoot简介

SpringBoot非常受欢迎,在github我也用SpringBoot封装neutron-api,地址为:

https://github.com/Luckylau/SpringBoot-NeutronApi

总觉得应该普及一下基本知识。

什么是SpringBoot?

​ Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

​ Boot的目标不在于为已解决的问题域提供新的解决方案,而是为平台带来另一种开发体验,从而简化对这些已有技术的使用。对于已经熟悉Spring生态系统的开发人员来说,Boot是一个很理想的选择,不过对于采用Spring技术的新人来说,Boot提供一种更简洁的方式来使用这些技术。

​ Boot提供了许多的“starter”模块,它们定义了一组依赖,这些依赖能够添加到构建系统之中,从而解析框架及其父平台所需的特定类库。例如,spring-boot-starter-actuator依赖会引入一组基本的Spring项目,从而实现应用的快速配置和即时可用。关于这种依赖,值得强调的一点就是当开发Web应用,尤其是RESTful Web服务的时候,如果包含了spring-boot-starter-web依赖,它就会为你提供启动嵌入式Tomcat容器的自动化配置,并且提供对微服务应用有价值的端点信息,如服务器信息、应用指标(metrics)以及环境详情。除此之外,如果引入spring-boot-starter-security模块的话,actuator会自动配置Spring Security,从而为应用提供基本的认证以及其他高级的安全特性。它还会为应用结构引入一个内部的审计框架,这个框架可以用来生成报告或其他的用途,比如开发认证失败的锁定策略。

Boot对Spring应用的开发进行了简化,提供了模块化方式导入依赖的能力,强调了开发RESTful Web服务的功能并提供了生成可运行jar的能力,这一切都清晰地表明在开发可部署的微服务方面Boot框架是一个强大的工具。正如前面的例子所示,借助于Boot,让一个RESTful Web工程运行起来是一件很容易的事情;在企业级基础设施领域,微服务是一种越来越流行的应用架构,因为它能够实现快速开发、更小的代码库、企业级集成以及模块化部署。

总结:

为Spring开发提供更加简单的使用和快速开发的技巧。
具有开箱即用的默认配置功能,能根据项目依赖自动配置。
具有功能更加强大的服务体系,包括嵌入式服务、安全、性能指标、健康检查等。
绝对没有代码生成,可以不再需要XML配置,即可让应用更加轻巧和灵活。

实战Domo?

Spring Tool Suite创建sprinboot项目还可以右键springstarterproject项目,在第二个下一步勾选web列表中的web即可。

以SpringBoot-neutron-api项目为例,这也是一个RESTFUL项目。

1.创建一个Maven项目

我们在eclipse下创建两个maven项目,一个选择maven-archtype-quickstart,一个选择maven-archtype-webapp。将maven-archtype-webapp下的webapp目录拷贝到基于maven-archtype-quickstart创建的maven项目,然后将其删除。

如果没有src/main/resources可以按照如下方式创建

1
2
3
4
5
6
7
8
9
10
11
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

其余根据开发需要补充即可。下面是一些配置数据库的,主要别人的一些操作,我也看了一下公司产品的代码,大同小异,简单的贴出来。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<!--数据库操作-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
</dependencies>

在src/main/resources这个文件夹下面新建一个application.properties

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#DB Configuration:
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/testdb
spring.datasource.username = root
spring.datasource.password = 123456
#JPA Configuration:
spring.jpa.database=MySQL
spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update
#spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy
#spring.jpa.database=org.hibernate.dialect.MySQL5InnoDBDialect
#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MYSQL5Dialect

后面将有SpringBoot专题学习。

参考:

http://www.infoq.com/cn/articles/microframeworks1-spring-boot

http://blog.csdn.net/cool__wang/article/details/49466609

http://www.cnblogs.com/dreamroute/p/5173896.html

Luckylau wechat
如果对您有价值,看官可以打赏的!