文档章节

SpringBoot配置

o
 osc_y8yehimr
发布于 2019/03/20 19:45
字数 678
阅读 16
收藏 0

精选30+云产品,助力企业轻松上云!>>>

多模块Maven项目

.gitignore文件

.idea

*.iml

target
out

log

tmp

test

父模块pom文件

<?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.xx.x1</groupId>
<artifactId>x1</artifactId>
    <version>1.0-SNAPSHOT</version>
<modules>
<module>api</module>
<module>common</module>
<module>manager</module>
<module>web-base</module>
</modules>
<packaging>pom</packaging>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
<maven.compiler.version>3.6.1</maven.compiler.version>
<maven.assembly.version>3.1.0</maven.assembly.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>22.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
</dependencies>
</project>
其中一个子模块pom文件
<?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">
<parent>
<artifactId>xx</artifactId>
<groupId>com.xx.x4</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>api</artifactId>
<dependencies>
<dependency>
<groupId>com.xx.x3</groupId>
<artifactId>web-base</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>testCompile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven.assembly.version}</version>
<configuration>
<descriptors>
<descriptor>assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>aobp-xingxi-api</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>aobp-xingxi-api</finalName>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

</project>

 

启动类Boot

@SpringBootApplication(scanBasePackages = "com.xx.xxx.xxxx")
@MapperScan(basePackages = "com.xx.xxx.xxxx.api.dao")
@Slf4j
public class Boot {

public static void main(String[] args) {
log.info("service starting");
SpringApplication.run(Boot.class, args).registerShutdownHook();
log.info("service start success");
}
}
yaml文件:
server:
port: 8081
tomcat:
basedir: tmp/tomcat

spring:
datasource:
hikari:
minimum-idle: 16
maximum-pool-size: 32
driver-class-name: com.mysql.cj.jdbc.Driver
username:
password:
url: jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai

mybatis:
mapper-locations: classpath:mappers/*.xml
type-aliases-package: com.xx.xxx.xxxx.common.entity

save:(创建包)
dir:
user: tmp/user
package: tmp/package
img: tmp/img

logging:(debug时用于打印sql语句)
level:
com.xx.xxx.xxxx.api.dao: debug

创建包时:
@Value("${save.dir.img}")
private String imgDir;

@PostConstruct
void init(){
File file = new File(imgDir);
if(!file.exists()){
file.mkdirs();
}
}
创建文件位置:

各模块包名

跨域配置:

/**
* @ClassName: GlobalCorsConfig
* @Description: 跨域配置
* @author: yaozhenhua
* @date: 2018/12/27 15:07
*/
@Configuration
public class GlobalCorsConfig {

@Bean
public CorsFilter corsFilter() {
//1.添加CORS配置信息
CorsConfiguration config = new CorsConfiguration();
//放行哪些原始域
config.setAllowedHeaders(CollectionUtils.arrayToList(new String[]{"*"}));
//是否发送Cookie信息
config.setAllowCredentials(true);
//放行哪些原始域(请求方式)
config.setAllowedMethods(CollectionUtils.arrayToList(new String[]{"POST", "GET", "PUT", "OPTIONS", "DELETE"}));
//放行哪些原始域(头部信息)
config.setAllowedOrigins(CollectionUtils.arrayToList(new String[]{"*"}));

//2.添加映射路径
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
configSource.registerCorsConfiguration("/**", config);

//3.返回新的CorsFilter.
return new CorsFilter(configSource);
}
}
Controller层全局异常处理器:
@ControllerAdvice
@Slf4j
public class AobpExceptionHandler {

//声明要捕获的异常
@ExceptionHandler(Exception.class)
@ResponseBody
public Result defaultExceptionHandler(Exception e) {
if (e instanceof AobpException) {
log.error(((AobpException) e).getMsg());
AobpException aobpException = (AobpException) e;
return Result.error(aobpException.getCode(), aobpException.getMsg());
}
log.warn(e.getMessage());
return Result.error(StatusConstant.STATUS_INTERNAL_ERR);
}
}


 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
SpringBoot实战:序

本人使用SpringBoot有一段时间,一直想写这么一系列的文章来记录和加深自己对SpringBoot的理解,最近刚刚好有时间,就着手开始写,不知道能坚持多久。本系列文章基于目前最新版本SpringBoot ...

枫叶_林
02/26
34
0
最新SpringBoot2.0.3版本技术视频教程【免费学习】

超火爆的springboot微服务技术怎么学,看这里,springboot超详细的教程↓↓↓↓↓↓https://ke.qq.com/course/179440?tuin=9b386640 springboot介绍 微服务介绍 springboot第一个例子 Spring...

拓薪教育
2018/10/15
105
0
好程序员Java学习路线之springboot和ssm开发的区别

  好程序员Java学习路线之springboot和ssm开发的区别,看到很多小伙伴对此有所疑惑所以今天为大家讲解一下,有不对的地方欢迎大家指教。   一、Springboot是什么?   谈springboot之前,...

好程序员官方
2019/08/16
7
0
springboot情操陶冶-初识springboot

前言:springboot由于其轻便和去配置化等的特性已经被广泛应用,基于时代潮流以及不被鄙视,笔者于是开辟此篇开始认识springboot 前话 springboot是基于spring而开发的轻量级框架,所以在学习...

osc_je020lv0
2018/07/24
3
0
SpringBoot | 第零章:前言

缘起 前段时间公司领导叫编写一两课关于的基础知识培训课程,说实话,也是今年年初才开始接触了SpringBoot这个脚手架,使用了之后才发现打开了一个新世界。再之后也没有一些系统的学习过,刚...

oKong
2018/07/15
1.7K
1

没有更多内容

加载失败,请刷新页面

加载更多

PHP控制反转和依赖注入

[TOC] PHP和依赖注入 理论知识 作者:Mingqi 链接:https://www.zhihu.com/question/23277575/answer/169698662 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明...

我爱吃炒鸡
16分钟前
8
0
Xcode 6:键盘未显示在模拟器中 - Xcode 6: Keyboard does not show up in simulator

问题: The keyboard does not show up when I run the simulator and click in the UITextView. 当我运行模拟器并单击UITextView时,键盘没有显示。 How do I re-enable the keyboard? 如何......

法国红酒甜
46分钟前
23
0
紫外线消毒灯EPA注册有请小蔡

臭氧消毒器EPA注册,紫外线消毒灯EPA注册,UV水质过滤器EPA注册,UV空气过滤器EPA注册,UV灭蚊灯EPA注册,超声驱虫设备EPA注册,UV消毒器EPA注册,高频驱鸟器EPA注册,电子驱鼠器EPA注册 二、...

IECEE证书注册
今天
11
0
小程序上传帖子(含有文字图片的微信验证)

public.js var graceJS = require('../../utils/grace.js');import { config } from '../../config.js'Page({ /** * 页面的初始数据 */ data: { imglist: [], title:'......

子枫Eric
今天
28
0
如今大火的算法框架TensorFlow,都有哪些值得一看的好书呢?

TensorFlow™是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief 。 Te...

程序员知识码头
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部