码迷,mamicode.com
首页 > 编程语言 > 详细

05 Spring Boot项目搭建步骤(超详细)

时间:2021-02-06 11:43:13      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:method   name   模块   trace   过程   prefix   搭建   get   his   

在 Spring Tools 4 for Eclipse 中依次选择 File->New->Maven Project

技术图片

 

 

 

完了上述操作之后,在 pom.xml 中添加 Spring Boot 的依赖,代码如下所示。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.6.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

编写启动类,代码如下所示。

@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

可以看到,我们只在 pom.xml 中引入了一个 Web 的 Starter,然后创建一个普通的 Java 类,一个 Main 方法就可以启动一个 Web 项目。

与之前的使用方式相比,这种方式简单很多。以前需要配置各种 Spring 相关的包,还需要配置 web.xml 文件,还需要将项目放入 Tomcat 中去执行,搭建项目的过程还特别容易出错,会出现各种 jar 包冲突。有了 Spring Boot 后这些问题都解决了。

我们之所以能够通过一个 Main 方法启动一个 Web 服务,是因为 Sprig Boot 中内嵌了 Tomcat,然后通过内嵌的 Tomcat 来提供服务。当然,我们也可以使用别的容器来替换 Tomcat,比如 Undertow 或 Jetty。

Spring Tools 4 for Eclipse 还为我们提供了更加便捷的项目创建方式,在 File->New 选项中有 Spring Starter Project,可以直接选择 Spring Boot 的版本以及需要依赖的第三方包,直接生成 Spring Boot 项目,不用再去手动配置 Maven 依赖。

 

编写第一个 REST 接口

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "hello";
    }
}

@RestController 是 @Controller 和 @ResponseBody 的组合注解,可以直接返回 Json 格式数据。  

@GetMapping 其实就是 @RequestMapping(method=RequestMethod.GET),通过访问 http://localhost:8080/hello 可以看到输出的结果“hello”

 

读取配置文件

在以前的项目中我们主要在 XML 文件中进行框架配置,业务的相关配置会放在属性文件中,然后通过一个属性读取的工具类来读取配置信息。

在 Spring Boot 中我们不再需要使用这种方式去读取数据了。Spring Boot 中的配置通常放在 application.properties 中,读取配置信息非常方便,总共分为 3 种方式。

1)Environment

可以通过 Environment 的 getProperty 方法来获取想要的配置信息

@RestController
public class HelloController {
    // 注入对象
    @Autowired
    private Environment env;
    @GetMapping("/hello")
    public String hello() {
        // 读取配置
        String port = env.getProperty("server.port");
        return port;
    }
}

  

2)@Value

可以注入具体的配置信息

@RestController
public class HelloController {
    // 注入配置
    @Value("${server.port}")
    private String port;
    @GetMapping("/hello")
    public String hello() {
        return port;
    }
}

  

3)自定义配置类

prefix 定义配置的前缀

@ConfigurationProperties(prefix = "net.biancheng")
@Component
public class MyConfig {
    private String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

读取配置的方法代码  

@RestController
public class HelloController {
    @Autowired
    private MyConfig myConfig;
    @GetMapping("/hello")
    public String hello() {
        return myConfig.getName();
    }
}

定义配置 application.properties 的方法如下:  

net.biancheng.name=zhangsan

 

profiles 多环境配置

平时的开发中,项目会被部署到测试环境、生产环境,但是每个环境的数据库地址等配置信息都是不一样的。通过 profile 来激活不同环境下的配置文件就能解决配置信息不一样的问题。在 Spring Boot 中可以通过 spring.profiles.active=dev 来激活不同环境下的配置。

可以定义多个配置文件,每个配置文件对应一个环境,格式为 application-环境.properties

 

表 1 profile 多环境配置
application.properties 通用配置,不区分环境
application-dev.properties 开发环境
application-test.properties 测试环境
application-prod.properties 生产环境


在开发环境中,可以通过修改 application.properties 中的 spring.profiles.active 的值来激活对应环境的配置,在部署的时候可以通过 java–jar xxx.jar--spring.profiles.active=dev 来指定使用对应的配置。

 

热部署

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
</dependency>

  

actuator 监控

Spring Boot 提供了一个用于监控和管理自身应用信息的模块,它就是 spring-boot-starter-actuator。该模块使用起来非常简单,只需要加入依赖即可

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

启动项目我们会发现在控制台输出的内容  

技术图片

 

 这些信息是 Actuator 模块提供的端点信息,具体如表 2 所示,通过访问这些端点我们可以得到很多监控信息。

 

 

 

 

 

 

表 2 Actuator端点信息
Http方法路径描述Http默认暴露
GET /actuator/conflgprops 查看配置属性,包含默认配置 false
GET /actuator/beans 查看bean及其关系列表 false
GET /actuator/heapdump 打印线程栈 false
GET /actuator/env 查看所有环境变量 false
GET /actuator/env/ {name} 查看具体变量值 true
GET /actuator/health 查看应用健康指标 true
GET /actuator/info 查看应用信息 false
GET /actuator/mappings 查看所有 URL 映射 false
GET /actuator/metrics 查看应用基本指标 false
GET /actuator/metrics/{name} 查看具体指标 false
POST /actuator/shutdown 关闭应用 false
GET /actuator/httptrace 查看基本追踪信息 false
GET /actuator/loggers 显示应用程序中 loggers 配置 false
GET /actuator/scheduledtasks 显示定时任务 false

  

  

05 Spring Boot项目搭建步骤(超详细)

标签:method   name   模块   trace   过程   prefix   搭建   get   his   

原文地址:https://www.cnblogs.com/jrkl/p/14377144.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!