首页
Optimus-Xs' Blog
取消

优雅的使用Spring Validation实现业务参数校验

前言 在平时写controller时候,都需要对请求参数进行后端校验,一般写法如下: public String add(user user) { if(user.getAge() == null){ return "年龄不能为空"; } if(user.getAge() > 120){ return "年龄不能超过120"; ...

SpringSecurity 集成JWT权限验证

一般来讲,对于RESTful API都会有认证(Authentication)和授权(Authorization)过程,保证API的安全性。 Authentication指的是确定这个用户的身份,Authorization是确定该用户拥有什么操作权限。 认证方式一般有三种 Basic Authentication 这种方式是直接将用户名和密码放到Header中,使用Autho...

SpringSecurity 使用方法

简介 Spring Security 是一个相对复杂的安全管理框架,功能比 Shiro 更加强大,权限控制细粒度更高,对 OAuth 2 的支持也更友好。 由于 Spring Security 源自 Spring 家族,因此可以和 Spring 框架无缝整合,特别是 Spring Boot 中提供的自动化配置方案,可以让 Spring Security 的使用更加便捷。 依赖配置 <...

Java 并发集合概览

这篇主要简单介绍 Java 集合库包含哪些常用的容器类,它们可以简单区分为: 非同步集合 同步集合 并发集合 Java 集合框架 Java 集合工具包在 Java.util 包下,它包含了常用的数据结构,比如数组、链表、栈、队列、集合、哈希表等等。 这里先放一张 Java 集合类的框架图: Collection 接口是集合类的根接口,Java 中没有提供这个接口的...

Java 多线程概览

前言 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”。 其中的一些概念不够明确,如同步、并发等等,让我们先建立一个数据字典,以免产生误会。 多线程:指的是这个程...

Java 注解使用

注解概述 注解的定义 注解,顾名思义,就是对某一事物添加注释说明,其会存放一些信息,这些信息可能对以后某个时段来说是很有用处的。 Java注解又叫java标注,java提供了一套机制,使得我们可以对包、类、方法、域、参数、变量等添加标注(即附上某些信息),且在以后某个时段通过反射将标注的信息提取出来以供使用 官网描述如下: Java 注解用于为 Java 代码提供元数据。作为元数据...

Java 反射使用方法

反射基础 什么是反射 反射 (Reflection) 是 Java 的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。 反射之中包含了一个「反」字,所以想要解释反射就必须先从「正」开始解释。 一般情况下,我们使用某个类时必定知道它是什么类,是用来做什么的。于是我们直接对这个类进行实例化,之后使用这个类对象进行操作。 Apple apple = ne...

Java 泛型使用方法

概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(...

为什么使用 @Autowired 提示不推荐

@Autowired注解相信每个Spring开发者都不陌生了! 但是当我们使用IDEA写代码的时候,经常会发现@Autowired注解下面是有小黄线的,我们把小鼠标悬停在上面,可以看到这个如下图所示的警告信息: 那么为什么IDEA会给出Field injection is not recommended这样的警告呢? 下面带着这样的问题,一起来全面的了解下Spring中的三种注入方...

Java 集合类概览

Java集合框架 集合是java中存放对象的容器,存放于java.util包中。下图是java集合类的继承与实现关系: 框架图说明 所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。 集合接口:6个接口(短虚线表示),表示...