spring boot 整合springMVC+mybatis+swagger过程记录

最近和一些朋友接了一个编写炒数字货币的辅助小工具的开发。这也是我除学校里做的小项目外,第一次完全负责一个项目的后台框架搭建,故在此记录一下,方便日后查看。

目录

一.整合springMVC+mybatis

二.整合swagger和swagger-ui

三.加入log4j的日志管理和junit单元测试


一.整合springMVC+mybatis

springMVC的话就不用过多介绍了,是一个轻量级的框架,使用了MVC的设计模式。在spring boot中有很好的集成这个框架,我们要做的只需要将它的依赖加入到我们的项目中就行了,并导入json依赖,将返回参数转换为json对象。如下:

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

<!-- 返回参数转为json -->
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>fastjson</artifactId>
	<version>1.2.51</version>
</dependency>

然后在代码中添加controller层和service层

运行时项目,打开http://localhost:8080/testcontroller/test?userId=1

出现错误,找不到controller 和service,解决办法:

将其他的类放到启动类的子包下

完成后打开网页

完成第一步,接下来整合mybatis,首先添加jar包

<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>1.2.0</version>
</dependency>

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.13</version>
</dependency>

项目框架,以及需要配置的文件

mybatis-config.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <typeAliases>
    
    </typeAliases>
</configuration>

mybatisconfig引入repository

@Configuration
@MapperScan(basePackages = {"com.bvhealth.mhelper.customer.repository"})
public class MyBatiesConfig {

}

数据库配置

spring.datasource.driver=com.mysql.jdbc.Driver 
spring.datasource.url=jdbc:mysql://xxxxxx:3306/xxxx?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=MyNewPass4!


#==================mybaties Config Start==================
#ORM Bean Package
mybatis.type-aliases-package=com.bvhealth.mhelper.customer.model
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
mybatis.config-location=classpath:mybatis/mybatis-config.xml
#==================mybaties Config End  ==================

然后编写测试的mapper和dao层

二.整合swagger和swagger-ui

 同样,首先导入jar包:

<dependency>
	<groupId>io.springfox</groupId>
	<artifactId>springfox-swagger2</artifactId>
	<version>2.9.2</version>
</dependency>
<dependency>
	<groupId>io.springfox</groupId>
	<artifactId>springfox-swagger-ui</artifactId>
	<version>2.0.2</version>
</dependency>

在config目录下添加swagger配置文件:

@Configuration
@EnableSwagger2
public class SwaggerConfig {
	
	 public static final String SWAGGER_SCAN_BASE_PACKAGE = "com.bvhealth.mhelper.customer.controller";
	    public static final String VERSION = "1.0.0";

	    ApiInfo apiInfo() {
	        return new ApiInfoBuilder()
	                .title("Swagger API")
	                .description("This is to show api description")
	                .license("Apache 2.0")
	                .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html")
	                .termsOfServiceUrl("")
	                .version(VERSION)
	                .contact(new Contact("","", "weiqi.email@qq.com"))
	                .build();
	    }

	    @Bean
	    public Docket customImplementation(){
	        return new Docket(DocumentationType.SWAGGER_2)
	                .select()
	                .apis(RequestHandlerSelectors.basePackage(SWAGGER_SCAN_BASE_PACKAGE))
	                .build()
//	                .directModelSubstitute(org.joda.time.LocalDate.class, java.sql.Date.class)
//	                .directModelSubstitute(org.joda.time.DateTime.class, java.util.Date.class)
	                .apiInfo(apiInfo());
	    }

}

 实际使用:

@RestController
@Api(value = "Test", description = "test the swagger API")
@RequestMapping(value = "/test")
public class TestController {
	
	@Autowired
	private ITestService testService;

	@ApiOperation(value = "get city by state", notes = "Get city by state", response = AB.class)
	@RequestMapping(value = "/firstdemo",method = RequestMethod.GET)
	public AB test(@RequestParam String A){
		return testService.test(A);
	}
	
}

 完成后访问http://localhost:8080/swagger-ui.html#!

参考:http://www.cnblogs.com/woshimrf/p/5863318.html#_caption_3

三.加入log4j的日志管理和junit单元测试

导入jar包

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-simple</artifactId>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>

 添加log4j.properties日志配置文件

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d-[%L] %5p [%t %c] - %m%n

日志使用

@Service
public class TestServiceImpl implements ITestService {
	
	private Logger logger = LoggerFactory.getLogger(TestServiceImpl.class);
	
	@Autowired
	ABRepository aBRepository;

	@Override
	public AB test(String A) {
		logger.info("haha");
		return aBRepository.selectByPrimaryKey(A);
	}

}

 单元测试demo:

public class Test {

	@org.junit.Test
	public void test() {
		System.out.println("Task one do.");
	}

}

ok,大功告成,至此,一个整合了spring boot,springMVC,mybatis,swagger的框架就完成了。

参考:https://blog.csdn.net/sxdtzhaoxinguo/article/details/78456810?locationNum=4&fps=1

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值