- 博客(9)
- 收藏
- 关注
原创 SpringBoot中使用@ControllerAdvice实现全局异常处理
在写项目的过程中,难免会遇到各种各样的自定义异常处理的场景,或者需要自己自定义异常的提示页面那些。要在SpringBoot中进行异常处理,就不得不聊一下 @ControllerAdvice 这个注解了。@ControllerAdvice是spring3.2提供的新注解,顾名思义,可以看出它的主要作用是对Controller的增强。这是一个非常有用、可以直接用在SpringBoot中的注解,它具体可以实现三个方面的功能:1、全局异常处理2、全局数据绑定3、全局数据预处理在这里说一下它的第一个功能:
2020-06-04 16:41:27
422
原创 Java爬虫入门-基于jsoup采集京东商品数据简单实现
近来,云计算结课要求是要做一个基于Hadoop组件的电商网站数据分析项目;数据分析,数据分析,要先有数据才能分析~数据哪来呢,当然是爬虫。其中爬虫最热门的语言肯定都是想到Python。但是Java作为我的本命语言,我就尝试了一下Java的爬虫实现,其实,现在Java也有很多框架包对爬虫的支持非常方便。下面,作为爬虫的入门,我用Jsoup来实现一下京东商品数据的采集。首先,和任何项目前提一样,新建一个项目,配置好依赖。<dependency> <groupId&
2020-05-23 22:22:58
1274
2
原创 基于SSM框架Controller层的数据校验功能实现
最近在练习一个SSM的小项目,在用户注册模块需要用到表单数据校验的功能。为什么要在后端实现数据校验在传统做法中,数据校验可以在前端直接用js来实现,但是这样只用前端实现,用户可以绕过浏览器,直接使用一些http工具向后端提交不合法的数据,所以为了安全,一般也会在后端的controller层SpringMVC实现数据校验的功能。实现步骤如下:1、导包:如果是maven工程可以直接导入依赖,因为我这个是纯SSM的练习项目,所以是导入lib包。数据校验需要依赖这3个jar包。hibernate-val
2020-05-08 21:54:13
1136
原创 设计模式之代理模式
什么是代理模式在我们开发业务代码的过程中,经常会遇到甲方粑粑提出的新需求~要在已经写好的业务模块中要添加一些功能,比如:增加日志记录、或者一些事务的支持等等。这时候,你肯定不会为了增加一点功能而想去动那个已经写好测试好的模块–毕竟有可能改着改着bug变多(狗头)。作为一个优秀的程序员肯定不会认同上面的理由,那找个正当的理由:如果有多个模块需要用到这个功能,如果每一个模块都改,那重复代码岂不是...
2020-04-29 00:07:01
164
原创 类的加载过程
类的生命周期是从被加载到虚拟机内存中开始,到卸载出内存结束。过程共有七个阶段,其中到初始化之前的都是属于类加载的部分:==加载----验证----准备----解析-----初始化----使用-----卸载==,其中,验证、准备、解析这三个阶段也叫==连接==过程。1、加载阶段1)通过一个类的全限定名来获取定义此类的二进制字节流。2)将这个字节流所代表的静态存储结构转化为方法区的运行时数据...
2020-03-04 22:44:48
76
原创 设计模式之装饰模式
在开发的过程中,随着业务需求的增多,可能会遇到这类问题:有一些之前开发的类需要增加新的功能。首先想到的做法是:直接去修改这个类,往这个类去添加新的功能。这样做的后果是可能会牵扯到整个项目。做法二:在创建一个新的类去继承这个类,然后往子类去添加功能实现。这种做法的局限是每次添加新功能都要写一个子类?很显然,前面两种做法都不太符合实际开发。所以,就有了装饰模式装饰模式(Decorator P...
2020-02-25 20:23:18
78
原创 设计模式之单例模式
在Java语言中,无论是jdk还是各类框架都会运用到许多单例模式。1、何为单例模式?我们都知道,面向对象语言中创建对象是需要消耗内存资源的,而有时候有的类仅需一个对象,为了确保这个类在程序中仅有一个对象而设计出来的模式叫做单例模式。单例模式的特点1、构造器私有化:Java中,如果没有重载一个类的构造器,这个类会有一个默认无参的构造器。而且这个构造器的的权限是public的。为了限制该类的对...
2020-02-14 22:21:06
86
原创 聊一聊Java中的String类
String类在Java中扮演一个非常重要的角色,几乎在每一段Java程序中都能看到它的身影,这里,简单聊一聊我对String的常见几个问题的理解。1、到底创建了几个对象?在各种笔试题库中,经常会看到这样的一段代码String str = new String("bcd");String str1 = "bcd";问:以上代码至少创建了几个对象?要知道创建了几个对象,首先要先熟悉St...
2020-02-12 22:22:12
112
原创 Java8新特性之lambda表达式
lambda表达式是JDK8的比较有鲜明特点的一个新特性,但是对于一些初学者来说,有的理解起来比较绕。下面我写一下我自己的理解。lambda表达式是干什么用的? 谈lanmbda表达式之前还要必须说的一个东西是匿名内部类。什么是匿名?看下面这段代码区分匿名和非匿名的区别。 Demo01 demo01 = new Demo01(); //这是一个普通的类实例化 ...
2020-02-12 08:59:44
190
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人