目录12
在 2017-3-18 记读书笔记

查看新建的 Spring Boot 新项目

书本使用的 Gradle 构建项目.我这例子中是使用的 Maven, 主要比较习惯用 Maven, 所以使用它, 不影响接下来的 Spring Boot 的学习.

简单的项目说明
src/main/java : 主要应用程序代码
src/main/resources : 资源目录
src/test/java : 测试目录
src/test/resources : 测试的资源目录, 在测试用使用该目录.

还会看到如下的文件:
pom.xml : Maven 的主要构建文件
JkyuntuReadApplication..java:应用程序的启动引导类(bootstrap class),也是主要的Spring配置类
application.properties : 用于配置应用程序和Spring Boot的属性
JkyuntuReadApplicationTests : 一个基本的集成测试类

先看看 JkyuntuReadApplication.java

  1. package com.jkyuntu.book;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class JkyuntuReadApplication {
  6. public static void main(String[] args) {
  7. SpringApplication.run(JkyuntuReadApplication.class, args);
  8. }
  9. }

@ SpringBootApplication : 开启了Spring的组件扫描和Spring Boot的自动配置功能. 实际上, @ SpringBootApplication将三个有用的注解组合在了一起

  • Spring的@ Configuration :标明该类使用Spring基于Java的配置。虽然本书不会写太多配置,但我们会更倾向于使用基于Java而不是XML的配置.
  • Spring的@ ComponentScan:启用组件扫描, 这样你写的Web控制器类和其他组件才能被自动发现并注册为Spring应用程序上下文里的Bean. 本章稍后会写一个简单的Spring MVC
    控制器, 使用@ Controller进行注解, 这样组件扫描才能找到它
  • Spring Boot 的 @ EnableAutoConfiguration : 这个不起 眼的小注解也可以称为@ Abracadabra, 就是这一行配置开启了Spring Boot自动配置的魔力, 让你不用再写成篇的配置了

在Spring Boot的早期版本中, 你需要在ReadingListApplication类上同时标上这三个注解, 但从Spring Boot1.2.0开始,有@ SpringBootApplication就行了

运行起来项目看一下吧. 直接执行 main 方法. 启动之后, 输入 http://localhost:8080 就可以查看效果. 不过现在就只会出现 404

测试 Spring Boot 应用程序
Spring Initializr 还提供了一个测试类的骨架, 可以基于应用程序编写测试.

代码如下:

  1. package com.jkyuntu.book;
  2. import org.junit.Test;
  3. import org.junit.runner.RunWith;
  4. import org.springframework.boot.test.context.SpringBootTest;
  5. import org.springframework.test.context.junit4.SpringRunner;
  6. @RunWith(SpringRunner.class)
  7. @SpringBootTest
  8. public class JkyuntuReadApplicationTests {
  9. @Test
  10. public void contextLoads() {
  11. }
  12. }

在新版本中 会使用 @ SpringBootTest 的注解来进行测试 Spring Boot 项目. 书中是使用了另一种方式进行测试. 就是原来 Spring 的测试用例. 这里的特性是从 Spring Boot 1.4之后, 只需要 @ SpringBootTest 注解 和对应的单元测试即可.

@ RunWith(SpringRunner.class)
告诉JUnit运行使用Spring的测试支持。SpringRunner是SpringJUnit4ClassRunner的新名字,这个名字只是让名字看起来简单些。

@ SpringBootTest的意思是
“带有Spring Boot支持的引导程序”(例如,加载应用程序、属性, 为我们提供Spring Boot的所有精华部分)

配置应用程序的属性
可以在 application.properties 中加入 如下代码:
server.port=8000
就可以修改项目启动的端口号.

大概的例子说明就到这了, 该框架一直都在更新中, 在看书的过程中, 我还在看官方的文档. 版本变化比较大.

在使用 @ 的时候, 会有地方 加上一个空格. 主要是我现在的这个编辑器, 会加上一个超链接, 暂时先打个空格.需要注意一下.

疑问?答疑?
关注极客云图了解更多内容