《01.Spring Boot连载:Spring Boot入门介绍》

1 Spring Boot的概述

Spring Boot是开发者和Spring 本身框架的中间层,帮助开发者统筹管理应用的配置,提供基于实际开发中常见配置的默认处理(即习惯优于配置),简化应用的开发,简化应用的运维;总的来说,其目的Spring Boot就是为了对Java web 的开发进行“简化”和加“快”速度,简化开发过程中引入或启动相关Spring 功能的配置。这样带来的好处就是降低开发人员对于框架的关注点,可以把更多的精力放在自己的业务代码上。

同时随着微服务概念的推广和实践,Spring Boot的精简理念又使其成为Java微服务开发的不二之选,也可以说,Spring Boot其实就是为了微服务而生的Java web框架。现如今,Spring Boot已经在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

2 Spring Boot的核心功能

  • 可独立运行的Spring项目:Spring Boot可以以jar包的形式独立运行。

  • 内嵌的Servlet容器:Spring Boot可以选择内嵌Tomcat、Jetty或者Undertow,无须以war包形式部署项目。

  • 简化的Maven配置:Spring提供推荐的基础 POM 文件来简化Maven 配置。

  • 自动配置Spring:Spring Boot会根据项目依赖来自动配置Spring 框架,极大地减少项目要使用的配置。

  • 提供生产就绪型功能:提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。

  • 无代码生成和xml配置:Spring Boot不生成代码。完全不需要任何xml配置即可实现Spring的所有配置。

  • Spring Boot整合了诸多技术框架,通过配置即可自动关联以及配置与其他框架整合。

  • 使用微信公众号编辑器有一个十分头疼的问题——粘贴出来的代码,格式错乱,而且特别丑。这块编辑器能够解决这个问题。

3.入门案例

(1)在Eclipse开发工具中整合Maven(读者亦可联系作者获取Maven框架使用的教程) (2)在Eclipse中新建一个Mavan的web项目,取名为hellotest

(3)在pom.xml文件中加入如下配置:

<!-- 加入本配置意味着Spring Boot会自动选择合适的--><parent>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-starter-parent</artifactId>   <version>1.5.6.RELEASE</version></parent>

构建基于Spring Boot的应用首先必须要将元素设置为spring boot的spring-boot-starter-parent,spring-boot-starter-parent是Spring Boot的核心启动器,包含了自动配置、日志和YAML等大量默认的配置,大大简化了我们的开发。元素建议使用最新的 RELEASE 版本,之后的spring boot模块(如spring-boot-starter-web模块)都会自动选择最合适的版本进行添加,后续的配置基本无需程序员自己制定版本号了。 (4)在pom.xml文件中加入如下配置:

<!-- 加入本配置意味着Spring Boot会自动选择合适的--><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId></dependency>

Spring Boot中包含了很多的starter模块,简单的说,每一个starter模块就是一系列的依赖包组合。例如starter-web模块,就是包含了Spring Boot预定义的一些Web开发的常用依赖包,支持全栈式Web开发,包括Tomcat和spring-webmvc,同时Spring Boot会进行自动配置集成SpringMVC。由于指定了spring-boot-starter-parent,所以此处的web starter模块不需要指定版本,Spring Boot会自动选择最合适的版本进行添加。 修改完成之后的pom.xml文件内容如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>org.fkit.springboot</groupId>  <artifactId>hellotest</artifactId>  <version>0.0.1-SNAPSHOT</version>  <packaging>jar</packaging>  <name>hellotest</name>  <url>http://maven.apache.org</url>   <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>1.5.6.RELEASE</version>   </parent>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    </properties>    <dependencies>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>          <groupId>junit</groupId>          <artifactId>junit</artifactId>          <version>3.8.1</version>          <scope>test</scope>      </dependency>    </dependencies></project>

pom.xml文件修改保存后,Maven会自动下载所需要的所有jar文件,速度取决于读者网络。 (5)编写测试代码 a.写一个简单的Java类HelloController。

// 程序清单:codes/01/hellotest/org/fkit /hellotest/HelloController.javaimport org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;// RestController相当于SpringMVC中的 @Controller + @ResponseBody@RestControllerpublic class HelloController {    // 映射"/hello"请求    @RequestMapping("/hello")    public String hello(){        return " Hello Spring Boot!";    }}HelloController 类上使用的@RestController注解是一个组合注解,相当于SpringMVC中的@Controller+@ResponseBody合在一起的作用。表明这个请求返回字符串“hello”。

b.修改Maven默认的App类。

// 程序清单:codes/01/hellotest/org/fkit/hellotest/App.javaimport org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;// @SpringBootApplication指定这是一个 spring boot的应用程序.@SpringBootApplicationpublic class App {    public static void main( String[] args )    {        // SpringApplication 用于从main方法启动Spring应用的类。        SpringApplication.run(App.class, args);    }}

App类使用的@ SpringBootApplication注解指定这是一个 spring boot的应用程序,该注解也是一个组合注解,相当于@Configuration + @EnableAutoConfiguration + @ComponentScan,具体在后续《Spring Boot的核心》重点讲解。SpringApplication类 用于从main方法启动Spring应用的类。此处直接调用静态的run方法。 c.启动Spring Boot项目,右键执行App.java类运行main方法。 d.测试应用 Spring Boot项目启动后,默认访问地址为:http://localhost:8080/,按照之前的web项目习惯,读者可能会问,怎么没有项目路径?这就是Spring Boot的默认设置了,将项目路径直接设为根路径。在浏览器输入URL来测试应用。

http://localhost:8080/hello

结果如下:

如有疑问请与读者联系,Spring Boot目前十分火热,后续将继续更新。

0.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章