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

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

目录

一.整合springMVC+mybatis

二.整合swagger和swagger-ui

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


一.整合springMVC+mybatis

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


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




	com.alibaba
	fastjson
	1.2.51

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

spring boot 整合springMVC+mybatis+swagger过程记录_第1张图片

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

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

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

spring boot 整合springMVC+mybatis+swagger过程记录_第2张图片

完成后打开网页

spring boot 整合springMVC+mybatis+swagger过程记录_第3张图片

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


	org.mybatis.spring.boot
	mybatis-spring-boot-starter
	1.2.0




    mysql
    mysql-connector-java
    8.0.13

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

spring boot 整合springMVC+mybatis+swagger过程记录_第4张图片

mybatis-config.xml文件




    
    
    

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层

spring boot 整合springMVC+mybatis+swagger过程记录_第5张图片

二.整合swagger和swagger-ui

 同样,首先导入jar包:


	io.springfox
	springfox-swagger2
	2.9.2


	io.springfox
	springfox-swagger-ui
	2.0.2

在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("","", "[email protected]"))
	                .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包

		
			org.slf4j
			slf4j-simple
		

		
			junit
			junit
			test
		

 添加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

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