spring-boot入门之二——web环境

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring-boot入门之二——web环境相关的知识,希望对你有一定的参考价值。

一、@Valid验证

场景:添加部门信息时,增加部门下的人数;满足一定人数可以被成功添加,否则返回NULL

//部门人数
@Min(value=18,message="不满足18个人,不能成立新部门!")
private Integer count;

//get/set 方法

@PostMapping(value="/saveDept")
public  DeptTemp saveDept(@Valid DeptTemp temp,
		//错误信息返回对象
		BindingResult result){
	if (result.hasErrors()) { //如果有错误信息,则打印 并返回
		System.out.println(result.getFieldError().getDefaultMessage());
		return null;
	}
	temp.setdName(temp.getdName());
	temp.setLoc(temp.getLoc());
	temp.setCount(temp.getCount());
	return deptRespository.save(temp);
}

由于,我们处理了验证不同过时的信息,如果验证不通过时会在控制台打印“自定义的验证信息,例如:不满足18个人,不能成立新部门!”

否则的话,此访问路径则会返回“500”错误,运行时异常;

在满足正确的条件下则可以被添加数据库,否则被拒之门外。



二、AOP统一处理日志

AOP是一种编程规范,与语言无关,是一种程序设计思想;

场景:记录下每次访问的请求

第一步:添加依赖

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

第二步:定义Aspect类

@Aspect
@Component //该文件引用到spring 容器里
public class HttpAspect {

@Before("execution(public * com.test.controller.DeptController.getList(..))")
public void log(){
	System.out.println("Aspect:log");
    }
}

该log方法将作用在getList方法上面,并且先于该方法之前打印出日志。

技术分享图片

同样也会有After方法,方法同上。

//Spring自带的日志框架,底层实现是logback 
private final static Logger logger = LoggerFactory.getLogger(HttpAspect.class);

@Pointcut("execution(public * com.test.controller.DeptController.getList(..))")
public void log(){
	
}
	
@Before("log()")
public void doBefore(){
	logger.info("Aspect:before:log");
}
	
@After("log()")
public void doAfter(){
	logger.info("Aspect:after:log");
}





以上是关于spring-boot入门之二——web环境的主要内容,如果未能解决你的问题,请参考以下文章

spring-boot入门之一——环境搭建

Pandas高级数据分析快速入门之二——基础篇

spring-boot快速入门

spring-boot之一:简单入门

Java入门之二

Java入门之二