IDEA创建第一个后台程序

IDEA创建第一个后台程序

写在前面的话,一个不会写后台的程序员不是好程序员,今天开始我们研究下后台程序

首先推荐一个成熟的后台和前端框架https://github.com/elunez

IDEA创建第一个后台程序_第1张图片

1. 依次点击 File -> New -> Project…

IDEA创建第一个后台程序_第2张图片

2.选择创建 Spring initializr 项目,并配置自己的jdk目录(这一步可以选择自己的安装的jdk同时也可以选择IDEA附带的JDK,这里我一般选择使用自己的JDK),完成之后选择下一步

IDEA创建第一个后台程序_第3张图片

3.确认项目信息,这一步直接点击下一步就好

IDEA创建第一个后台程序_第4张图片

4.选择项目需要依赖的组件,主流项目中Spring WEB 、 MyBatis是必须的,数据库类型更具需要选择,我比较喜欢用MySQL,这里以MySQL为例

IDEA创建第一个后台程序_第5张图片 IDEA创建第一个后台程序_第6张图片

5.在项目的resources文件夹下创建 application.yml 文件

IDEA创建第一个后台程序_第7张图片

6.在 application.yml 文件中添加基本配置

使用时请去掉所有注释信息

server:
  port: 8080  //服务端口配置  

spring:
  datasource:
    url: jdbc:mysql://{MySQL数据库所在服务器IP}:{数据库端口}/{数据库名称}?characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai&useLegacyDatetimeCode=false
    username: {数据库登录名}
    password: {远程连接密码}
    driver-class-name: com.mysql.jdbc.Driver
  jackson:
    time-zone: Asia/Shanghai
  hikari:
    read-only: false
    connection-timeout: 60000
    idle-timeout: 60000
    validation-timeout: 30000
    max-lifetime: 60000
    login-timeout: 5
    maximum-pool-size: 60
    minimum-idle: 10
mybatis:
  configuration:
    map-underscore-to-camel-case: true
//日志收集部分
logging:
  level:
    {项目包名} : debug
    root: info
  file: log/springbootLog.log

7.在 pom.xml 文件中添加依赖配置

IDEA创建第一个后台程序_第8张图片

注意各个依赖配置版本应当一致,避免出现不兼容现象



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.2.2.RELEASE
         
    
    com.zbc
    smartliving
    0.0.1-SNAPSHOT
    smartliving
    Demo project for Spring Boot

    
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.1.1
        

        
            mysql
            mysql-connector-java
            runtime
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        
        
            org.springframework.boot
            spring-boot-autoconfigure
        
        
            org.apache.maven.plugin-tools
            maven-plugin-annotations
            3.5.2
        



        
        
            io.springfox
            springfox-swagger2
            2.6.1
        
        
            io.springfox
            springfox-swagger-ui
            2.6.1
        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.9.5
        

        
        
            net.sf.json-lib
            json-lib
            2.4
            jdk15
        

    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


8.配置本地的Maven仓库地址,没有安装的参考 第十六章 gradle自动化构建系列文章 之 maven搭建和jar包上传 自己安装吧, setting文件一定选择本地maven中config目录下的setting文件

IDEA创建第一个后台程序_第9张图片 IDEA创建第一个后台程序_第10张图片

9. 创建maven打包任务

IDEA创建第一个后台程序_第11张图片 IDEA创建第一个后台程序_第12张图片

10. 创建MVC项目结构

IDEA创建第一个后台程序_第13张图片

11.具体的swagger实现

Swagger配置,SwaggerConfig.java

package com.zbc.smartliving.config;


import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * Created by benchengzhou on 2019/10/24 0:35.
 * 作者邮箱:[email protected]
 * 功能描述:
 * 类    名: SwaggerConfig
 * 备    注:
 */
@Configuration // 标注此类是一个配置类
@EnableSwagger2 // 启用swagger
@ComponentScan(basePackages = {"com.zbc.smartliving.controller"}) // 扫描此位置下的controller
public class SwaggerConfig {

    /**
     * 创建Docket容器,参数传入swagger api信息
     *
     * @return
     */
    public Docket customDocket() {
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
    }

    public ApiInfo apiInfo() {
        // 联系人
        Contact contact = new Contact("exam", "https://www.xxx.com", "[email protected]");
        return new ApiInfoBuilder()
                .title("exam")
                .description("Exam - API接口")
                .contact(contact)
                .version("1.1.0")
                .build();
    }

}

SwaggerMVC配置,SwaggerMvcConfig.java

package com.zbc.smartliving.config;


import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @auther 吴宁
 * @create 2019/9/25
 */
@Configuration
public class SwaggerMvcConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");

        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}

你可能感兴趣的:(后端)