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");
}

原文地址:http://blog.51cto.com/mazongfei/2134465

时间: 2024-08-30 15:31:25

spring-boot入门之二——web环境的相关文章

Spring boot入门(二):Spring boot集成MySql,Mybatis和PageHelper插件

上一篇文章,写了如何搭建一个简单的Spring boot项目,本篇是接着上一篇文章写得:Spring boot入门:快速搭建Spring boot项目(一),主要是spring boot集成mybatis和pagehelper 关于mybatis和pagehelper的介绍,可以自行博客,网上很多类似的博客,这里,我直接上代码和项目搭建教程. 1.配置文件:在配置文件application.yml中配置MySql数据库连接池和Mybatis扫描包以及PageHelper分页插件 1 mybati

Spring Boot入门-快速搭建web项目

Spring Boot 概述: Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum

Spring boot入门(三):SpringBoot集成结合AdminLTE(Freemarker),利用generate自动生成代码,利用DataTable和PageHelper进行分页显示

关于SpringBoot和PageHelper,前篇博客已经介绍过Spring boot入门(二):Spring boot集成MySql,Mybatis和PageHelper插件,前篇博客大致讲述了SpringBoot如何集成Mybatis和Pagehelper,但是没有做出实际的范例,本篇博客是连接上一篇写的.通过AdminLTE前端框架,利用DataTable和PageHelper进行分页显示,通过对用户列表的增删改查操作,演示DataTable和PageHelper的使用. (1)Admi

Spring Cloud 入门教程(二): 配置管理

使用Config Server,您可以在所有环境中管理应用程序的外部属性.客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spring应用程序非常契合,但可以与任何以任何语言运行的应用程序一起使用.随着应用程序通过从开发人员到测试和生产的部署流程,您可以管理这些环境之间的配置,并确定应用程序具有迁移时需要运行的一切.服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境,以及可以访问用于管理内容的各种工具.很容易添加

Spring Boot入门程序

创建第一个Spring Boot的入门程序. 带你一步一步的,搭建第一个Spring Boot 的入门程序,并成功运行,通过实践过程,初步认识和了解如何使用Spring Boot 创建应用程序. 一.开发环境 (1)JDK 1.8 (2)Eclipse Oxygen EE版本 或者也可以使用 IntelliJ IDEA (3)Tomcat 9 二.创建 Spring Boot 入门程序 1.创建工程 在Eclilpse EE中,点击"File"--"New"--&q

Spring Boot入门(一)

Spring Boot入门 一.第一个Spring Boot程序 1.导入springBoot 依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> <depe

构建微服务:Spring boot 入门篇

构建微服务:Spring boot 入门篇 什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适). 使用spring boot有什

Spring Boot 入门之持久层篇(三)

原文地址:Spring Boot 入门之持久层篇(三) 博客地址:http://www.extlight.com 一.前言 上一篇<Spring Boot 入门之 Web 篇(二)>介绍了 Spring Boot 的 Web 开发相关的内容,项目的开发离不开数据,因此本篇开始介绍持久层相关的知识. 二.整合 JdbcTemplate 2.1 添加依赖 <dependency> <groupId>org.springframework.boot</groupId&g

《深入实践Spring Boot》第1章 Spring Boot入门

目录 第1章 Spring Boot入门 1.1 配置开发环境 1.1.1 安装JDK 1.1.2 安装InterlliJ IDEA 1.1.3 安装Apache Maven 1.1.4 安装Git客户端 1.2 创建项目工程 1.2.1 使用Maven新建项目 1.2.2 使用Spring Initializr新建项目 1.3 使用Spring Boot 1.3.1 Maven依赖管理 1.3.2 一个简单的实例 1.4 运行与发布 1.4.1 在IDEA环境中运行 1.4.2 将应用打包发布