Spring Boot项目搭建

1.Spring Boot概述

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。总所周知,Spring平台饱受非议的一点就是大量的XML配置以及复杂的依赖管理,而Spring Boot的出现就是用来简化操作的。相比传统的Spring,项目搭建更简单、方便、快速。

2.项目搭建

本文采用IDEA搭建Spring Boot,Demo结构图如下:

通过IDEA生成Spring Boot项目很方便,具体步骤不再赘述,可以参考网上其他资料,如上图,主要生成:

    • src/main/java  程序开发以及主程序入口
    • src/main/resources 配置文件
    • src/test/java  测试程序

默认pom.xml生成jar包依赖项如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<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>com.snail</groupId>
    <artifactId>bootdemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>bootdemo</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

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

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

3.测试用例

Demo并没有配置数据库,只是简单地测试一下Http 请求,并结合现实中的场景,我们的配置文件往往在线下环境、生产环境的配置是不一样的,可以通过配置来获取对应的文件,如下所示。

(1)实体类

其中ConfigurationProperties注解的目的是用来映射配置文件的,会在配置文件yml文件里新建配置项application.yml、application-product.yml(生产环境)、application-test.yml(测试环境),通过前缀CustomerInfo可以获取配置文件里对应的映射。

/**
 * 客户基本信息
 * Create by snailTech
 * 2017-07-24 16:31
 **/
@Component
@ConfigurationProperties(prefix = "CustomerInfo")
public class CustomerInfo {
    /**
     * 姓名
     */
    private String name;

    /**
     * 手机号码
     */
    private String mobile;

    /**
     * 年龄
     */
    private Integer age;

    public String getName() {
        return name;
    }

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

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public Integer getAge() {
        return age;
    }

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

(2)application.yml

spring:
  profiles:
    active: product

通过这个配置active为product可以得知读取的是application-product.yml文件,其中port是Web容器(默认是Tomcat)的端口号,以及context-path是虚拟路径。

(3)application-product.yml

server:
  port: 8080
  context-path: /bootdemo
testUrl: http://www.baidu.com
CustomerInfo:
  name: snail
  mobile: 18818718711(生产环境)
  age: 30

(4)application-test.yml

server:
  port: 8080
  context-path: /bootdemo
testUrl: http://www.baidu.com
CustomerInfo:
  name: snail
  mobile: 18818718711(测试环境)
  age: 30

(5)配置Controller层

@RestController相当于@[email protected],都是以json格式返回,@Value("${testUrl}")是用来获取配置文件里的testUrl配置项的,@RequestParam用来接收请求参数,其余的写法与SpringMvc的写法并没什么区别

package com.snail;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
 * Create by snailTech
 * 2017-07-24 16:10
 **/
@RestController
@RequestMapping(value = "/test")
public class TestController {
    @Value("${testUrl}")
    private String testUrl;

    @Autowired
    private CustomerInfo customerInfo;

    //@RequestMapping(value="/hello" ,method = RequestMethod.GET)
    @GetMapping(value = "/hello")
    public String hello(@RequestParam("id") Integer xx){
        return customerInfo.getMobile()+xx;
    }
}

(6)编译

编译非常简单,内置Tomcat,无需像SSM项目里还需要手动配置Tomcat,只要运行程序就可以了。

(7)运行

时间: 2024-12-20 14:35:44

Spring Boot项目搭建的相关文章

[读书笔记] 一、Spring boot项目搭建与配置文件

读书笔记:[JavaEE开发的颠覆者 Spring Boot实战] 作者:汪云飞 从今天开始坚持读书,并记录下此读书笔记. 一,初接触 Spring boot 项目Hello world搭建 1.pom.xml 配置如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocat

Spring Boot项目搭建(Spring Boot 2.2.4 + MyBatis + MySql)

创建Spring Boot项目 1.New Project 2)取名为sb2 (springboot2.x) 3.勾选Spring Web 4.勾选MyBatis framework 5.下一步,然后点击完成 6.pom.xml增加jar和插件 jar dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1

spring boot项目搭建中遇到的问题

自己动手搭建一下spring boot的项目,中途遇到了几个问题,在这里记录一下! 一.关于数据库中的表设计的问题 1.设计表的时候一定要添加的两个字段created updated 创建时间与更新时间 这两个字段是必须的2.数据库的表字段设计一定要规范,因为如果使用分页助手的话,你的表字段设计不规范,会存在很多问题比如:我的book_info 表中的字段 有一个是pubInfo 驼峰命名法,但是其他的是book_name.img_url 下划线命名法,造成使用通用mapper以及分页助手的时候

Spring Boot 项目实战(一)Maven 多模块项目搭建

Maven父项目 以SpringBoot项目为例https://blog.csdn.net/weixin_30606669/article/details/99478544 Maven 多模块父子工程 (含Spring Boot示例)https://www.cnblogs.com/meitanzai/p/10945085.html https://www.cnblogs.com/orzlin/p/10330163.html 一.前言 最近公司项目准备开始重构,框架选定为 Spring Boot

spring boot 快速搭建 基于 Restful 风格的微服务

使用 spring boot 快速搭建 基于  Restful 风格的微服务, 无spring 配置文件,纯java 工程,可以快速发布,调试项目 1.创建一个maven 工程 2. 导入如下配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="htt

使用Idea初始化一个spring boot 项目

配置环境 Idea配置jdk8.0 1.打开Idea,点击右上角file,找到Other Settings选项,点击下方的Default Project Structure,如下所示 2.点击下图中所示的倒三角,选择java version "1.8.0_131" 3.如果下方没有显示jdk 8.0的版本,点击下图中的New按钮,添加本地jdk(如果本地没有jdk请至Oracle官网下载,目前最新版本是jdk9.0.4) 配置maven 下载maven 1.到官网下载maven压缩包

使用nginx对spring boot项目进行代理

摘要:使用nginx对spring boot项目进行反向代理,并且使用轮询均衡负载策略 均衡负载与集群 集群和均衡都涉及到多个机器提供的服务的问题 不同点是,集群是互相通信.协同的的多个服务,服务之前能够状态共享.而均衡负载一般说的是,服务之间相互独立,不知道彼此.因此,使用均衡负载最好是提供的无状态的服务,如果服务有状态,那么就需要一个统一管理状态的服务单独部署 搭建过程 相关工具 使用spring boot快速搭建一个web项目 virtual box作为虚拟机,并安装docker 独立安装

在Spring Boot项目中使用Redis集群

Redis安装 Mac 系统安装Redis brew方式安装 在命令汗执行命令 brew install redis 安装完成之后的提示信息 ==> Downloading https://homebrew.bintray.com/bottles/redis-5.0.2.mojave.bottle.tar.gz ######################################################################## 100.0% ==> Pouring

生成Spring Boot项目

摘自:https://itweknow.cn/blog-site/posts/a3cc4e79.html 前情提要 小代是一名入职不久的程序员,公司同事都亲切的称他小代.有一天小代的老大陈BOSS和小代说,公司后端最近准备换技术框架了.小代: 换成啥?陈BOSS: Spring Boot,听过没?小代: 当然听说过,就是由Pivotal团队开发的一个新的框架,它主要是简化Spring应用程序的搭建和开发过程.陈BOSS: 哟呵,想不到你还知道的挺多的.那挺好啊,现在我给你给任务,搭建一个基于一个