Spring Boot

 

 

 

简介:

spring boot 是一个整合了绝大多数主流框架的框架

可以很方便的引用各种现成的框架拿来即开即用

 

Mavan配置:

下载:

1. apache-maven, 用于项目的建立和包的安装

下载地址: http://maven.apache.org/

 

注册:

1. 新建环境变量

2. 配置 Path 环境变量

 

 

配置:

1. 新建本地仓库 localRepository 目录随意

2. apache-maven / conf 目录下 打开 setting.xml

配置仓库地址

3. 配置镜像地址

4. 打开 IDEA 选择 File > setting > Build,Execution,Deployment > Maven 

配置仓库地址和配置文件地址, 

注意: 似乎这配置只针对同一和工作空间下

 

参考地址:

http://www.cnblogs.com/zmfx/p/8903871.html

https://www.cnblogs.com/zmfx/p/8906943.html

 

创建项目:

1. 打开 Idea 选择 Create Project

2. 选择 spring Initializr

3. 填写项目信息

4. 选择需要的依赖框架, 目前 demo 先使用 web

5. 配置存放路径和项目名 完成

6. 删除不必要的文件 (暂时不清楚这几个文件是做什么用的)

7.  新建一个 controller

// 标识这个类为一个控制器
// RestController = ResponseBody + Controller
@RestController
public class homeController {
    // 标识路由
    // 要访问这个action的话 地址为 localhost:10001/hello
    // 方法是 Get
    @RequestMapping(value = "/hello",method = RequestMethod.GET)
    public String helloSpringBoot(){
        return "Hello SpringBoot!";
    }
}

 

 

运行

SpringBoot 启动有3种方式

1. 直接点击 IDE 里的 Run

2. 使用之前配置好的 maven 的 mvn 命令启动

  1. 打开命令行, 进入到项目目录中去, 

  2. mvn spring-boot:run

3. 使用 jar 文件启动

  1. 在项目目录下编译项目

    mvn install

  2. 进入到 target 目录下 

    cd target/

  3. 找到对应的 jar 文件 运行 java 命令

    java -jar xxxx.jar

 

打开浏览器, 输入 localhost:8080/hello (springboot 内置的服务器 tomcat的 默认端口)

表明启动成功

 

配置:

环境配置

如果需要配置 连接到数据库, 或者想更改运行的端口

则可以直接修改 springboot 的配置文件 , application.properties 或者 application.yml

1. 更改运行端口

// .properties
server.port=8081
server.servlet.context-path=/api

// .yml
server:
  port: 8082
  servlet:
    context-path: /api

 

其中 context-path 是表示全局的路由前缀

2. 多个环境配置

我们可以根据需要配置生产环境和运行环境不同的配置文件

可以先创建2个 yml 文件

新建开发环境的配置:application-dev.yml文件

server:
  port: 8083
  servlet:
    context-path: /dev

 

新建生产环境的配置:application-pro.yml文件

server:
  port: 8084
  servlet:
    context-path: /pro

 

然后修改 application.properties(.yml) 文件

spring.profiles.active: dev

 

就可以很方便的应用 开发环境下的配置文件了

 

变量配置

同样的, 也可以在 properties 中配置变量

devName = "dev"

 

在类中可以使用 @Value 标签来引用

@Value("${devName}")
public String devName;

 

坑1: 这种方法对于 new 出来的对象无法使用, 如果需要在 某个类里使用, 可以使用 @Autowried 使其成为 java 的 bean 才可以使用

坑2: 对于静态变量可能无法使用 @Value, 可以对他的属性进行 @Value

 

将配置转换对象

1. 在 pom.xml 中添加依赖

<!--configuration的依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

 

2. 新建一个类

package com.demo1.demo

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component  //由于后面自动装配@Autowired时能扫描到此类
@ConfigurationProperties(prefix = "dev")//指明了配置文件中前缀为 dev封装成对象
public class Developer {
    private String name;//姓名
    private Integer age;//年龄
    private Integer id;//编号

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @Override
    public String toString() {
        return "Developer{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", id=" + id +
                '}';
    }
}

 

在配置文件中添加

dev:
  name: AAA
  age: 26
  id: 365

 

 

视图模板

相当于 mvc 返回的 View 一样

首先来介绍一下@RestController

它相当于 @Controller + @ResponseBody 的简写。

@ResponseBody的作用时把返回值回显到页面,默认解析成Json格式。不会走视图解析器

如果把@RestController换成@Controller,页面会报500,提示你检查视图解析器。

SpringBoot官方为我们提供了页面显示的模板 thymeleaf

1. 首先加入依赖

<!--模板的依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

 

2. 在 template 下写一个 index.html 页面

 

3. 编写控制器

//templates的展示
@RequestMapping(value = {"/home" } ,method = RequestMethod.GET)
public String showIndexHtml(){
    return "index";
}

 

 即可用过 localhost:8080/home 来访问这个页面了

 

 

打包:

打包成 war

1. 将 pom.xml 中的打包方式修改为 war

<groupId>com.borya</groupId>
    <artifactId>Project</artifactId>
    <version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

2. 将 pom.xml 中添加依赖, 将 scope 状态修改为 provided

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

3. 修改 src/main/java 下的 application 启动项

public class xxApplication extends SpringBootServletInitializer {
    
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(PlatApplication.class);
    }
    
    public static void main(String[] args)
    {
        // do someghing
    }
}

4. 重新构建一下项目

5. 打开终端 输入

mvn clear 

6. 打开终端 输入

mvn package

7. 在 target 下面就能找到 .war 文件了

 

部署:

1. 将打包好的 .war 文件拷贝到服务器的 tomcat 映射的目录下

2. .........

 

运行:

1. 在 tomcat/bin 里运行 ./caralina.sh run

2. 或者运行 ./startup.sh 直接运行 tomcat 服务器

 

 

单元测试

自动生成单元测试

1. 

2.

3. 

添加测试方法

4. 

运行测试

注意: 如果没有 JUnit 插件的话, 可能会无法出现运行标识

这里需要点击 文件-配置-Plugins

找到 JUnit 打勾, 然后点击确认

然后就可以运行测试了

 

posted @ 2018-10-14 20:52  `Laimic  阅读(160)  评论(0)    收藏  举报