SpringBoot项目依赖和配置最新示例讲解

这篇文章主要介绍了SpringBoot项目依赖和配置,这里主要是搭建项目常用到的maven依赖以及搭建项目会需要用到的一些配置文件,本文通过示例代码给大家详细讲解,需要的朋友可以参考下

maven依赖及一些配置

这里主要是搭建项目常用到的maven依赖以及搭建项目会需要用到的一些配置文件,可能下面这些依赖还不是很全,但是应该会满足日常大部分的需求了

Spring

Spring项目的依赖

 org.springframeworkspring-webmvc5.3.9 org.aspectjaspectjweaver1.9.7

SpringBoot项目

parent坐标

 org.springframework.bootspring-boot-starter-parent2.3.4.RELEASE

starter依赖

 org.springframework.bootspring-boot-starter org.springframework.bootspring-boot-starter-testtest

web starter 依赖

 org.springframework.bootspring-boot-starter-web

devtoos依赖

开启SpringBoot项目热部署

 org.springframework.bootspring-boot-devtoolstrue

数据库相关

mysql - connector依赖

 mysqlmysql-connector-java8.0.24

druid连接池–集成boot项目

 com.alibabadruid-spring-boot-starter1.1.23

c3p0 连接池

 com.mchangec3p00.9.5.2

ORM框架

MyBatis

 org.mybatismybatis3.5.6

MyBatis 集成Spring

 org.mybatismybatis-spring2.0.6

MyBatis-plus依赖

 com.baomidoumybatis-plus-boot-starter3.4.2

mybatis-plus代码生成器

 com.baomidoumybatis-plus-generator3.2.0

缓存相关

redis 集成boot项目

添加的是spring-data-redis的依赖

 org.springframework.bootspring-boot-starter-data-redis

Spring Cache

 org.springframework.bootspring-boot-starter-cache

Jedis

 redis.clientsjedis2.8.0

安全框架

shiro框架

 org.apache.shiroshiro-spring-boot-web-starter1.9.0

Spring Security

 org.springframework.bootspring-boot-starter-security

常用工具类

jwt 用户认证相关

 com.auth0java-jwt4.0.0

打包相关

spring-boot-loader依赖

 org.springframework.bootspring-boot-loader

Json 相关

org.json

 org.jsonjson20160810

fastjson

 com.alibabafastjson1.2.76

常用开发工具类

commons-lang

 commons-langcommons-lang2.6

lombok依赖

 org.projectlomboklombok1.18.12provided

junit测试工具类

 junitjunit4.12test

Http工具类

普通的是一般的Http请求,第二个是异步请求的工具类

 org.apache.httpcomponentshttpclient4.5.6 org.apache.httpcomponentshttpasyncclient4.1.4

接口文档相关

Swagger2依赖

添加了Swagger依赖和更换Swagger依赖的默认UI,采用了bootstrap-ui面板

 io.springfoxspringfox-swagger22.7.0 com.github.xiaoyminswagger-bootstrap-ui1.9.1

knife4j

 com.github.xiaoyminknife4j-spring-boot-starter3.0.2

Servlet 依赖

 javax.servletjavax.servlet-api4.0.1provided

Flink相关的依赖

flink

 org.apache.flinkflink-streaming-java_${scala.binary.version}${flink.version} org.apache.flinkflink-clients_${scala.binary.version}${flink.version}

集成kafka

 org.apache.flinkflink-connector-kafka_${scala.binary.version}${flink.version}

日志

Logging-4j

 org.apache.logging.log4jlog4j-slf4j-impl${log4j.version} org.apache.logging.log4jlog4j-api${log4j.version} org.apache.logging.log4jlog4j-core${log4j.version}

配置

SpringBoot项目配置文件application.yml

# 运行端口 server: port: 9527 spring: #  激活的环境 profiles: active: dev application: name: reimbursementSystem servlet: multipart: max-file-size: 10MB max-request-size: 10MB datasource: #    druid: #      driver-class-name: com.mysql.cj.jdbc.Driver #      url: jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true #      username: root #      password: 123456 #      maxActive: 100 #      initialSize: 10 #   spring 默认的连接池 url: jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver

添加redis

redis: host: localhost port: 6379 password: 123456 database: 0

添加mybatis-plus

mybatis-plus: configuration: #在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射 map-underscore-to-camel-case: true log-impl: org.apache.ibatis.logging.stdout.StdOutImpl global-config: db-config: id-type: ASSIGN_ID

添加Mybatis

mybatis: mapper-location: classpath:/mapper/*.xml 

shiro

shiro: loginUrl: /user/login

Swagger文档配置SwaggerConfig

@Configuration @EnableSwagger2 public class SwaggerConfig { /** * 配置docket以配置Swagger具体参数 * @return 返回一个docket配置参数 */ @Bean public Docket docket(){ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.group.reimbursement.controller")) .paths(PathSelectors.any()) .build(); } /** * Api的信息 * @return ApiInfo */ private ApiInfo apiInfo(){ Contact contact = new Contact("张连勇、林良怀","https://blog.csdn.net/zly03?spm=1000.2115.3001.5343","lyzhang@163.com"); return new ApiInfoBuilder() .title("发票管理系统") .version("1.0.2") .description("接口文档") .contact(contact) .build(); } } 

添加静态资源过滤,如果有添加过滤器和拦截器,也需要在拦截器或者过滤器中放行相关的url*

/** * 设置静态资源 * @param registry ResourceHandlerRegistry */ @Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { log.info("开始进行静态资源映射..."); registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); }

相关的url

.excludePathPatterns("/doc.html/**") .excludePathPatterns("/swagger-ui.html/**") .excludePathPatterns("/webjars/**")

mybatis-plus 配置

/** * 配置分页插件 * *@author zhanglianyong *@date 2022/8/5 */ @Configuration public class MybatisPlusConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor(); mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor()); return mybatisPlusInterceptor; } }

Response 常用的响应封装类

/** * 返回对象 * *@author zhanglianyong *@date 2022/8/5 */ @Data @ApiModel("统一返回类") public class Response  implements Serializable { /** * 编码:1成功,0和其它数字为失败 */ @ApiModelProperty("状态码,统一200为成功") private Integer code; /** * 错误信息 */ @ApiModelProperty("返回信息,错误信息") private String message; /** * 数据 */ @ApiModelProperty("返回数据") private T data; /** * 动态数据 */ @ApiModelProperty("动态数据") private Map map = new HashMap<>(); public Response() { } public static  Response successWithMessage(String message) { Response r = new Response<>(); r.message = message; r.data = null; r.code = HttpStatus.OK.value(); return r; } public static  Response success(T object) { Response r = new Response<>(); r.data = object; r.code = HttpStatus.OK.value(); return r; } public static Response buildJsonString(Object object) throws JsonProcessingException { String jsonString = toJsonString(object); return Response.success(jsonString); } private static String toJsonString(Object object) throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); mapper.setDateFormat(df); return mapper.writeValueAsString(object); } public static  Response error(String message, int code) { Response r = new Response<>(); r.message = message; r.code = code; return r; } public static  Response common(int code, String message) { Response result = new Response<>(); result.setCode(code); result.setMessage(message); return result; } public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public T getData() { return data; } public void setData(T data) { this.data = data; } public Response(Integer code, String message, T data) { this.code = code; this.message = message; this.data = data; } } 

BaseException 基础异常类BaseException

/** * 基础异常 * *@author zhanglianyong *@date 2022/8/4 */ public class BaseException extends RuntimeException { private static final long serialVersionUID = 1L; /** * 编码:1成功,0和其它数字为失败 */ private Integer code; /** * 错误信息 */ private String message; public BaseException(String message) { this.message = message; } public BaseException(String message, Throwable cause, Integer code, String message1) { super(message, cause); this.code = code; this.message = message1; } public BaseException(String message, Integer code) { this.code = code; this.message = message; } public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } @Override public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } } 

到此这篇关于SpringBoot项目依赖和配置的文章就介绍到这了,更多相关SpringBoot项目依赖内容请搜索0133技术站以前的文章或继续浏览下面的相关文章希望大家以后多多支持0133技术站!

以上就是SpringBoot项目依赖和配置最新示例讲解的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Java