- 博客(8)
- 资源 (3)
- 收藏
- 关注
原创 【Spring(十二)】EnvironmentCapable
首先,带有Capable后缀的接口在Spring中带有getXXX的含义,也就是实现了这个接口,就可以通过该接口的实例获取到XXX,这个和Aware接口很类似。所以,这里的EnvironmentCapable接口就是可以获得一个Environment实例。看下接口定义:public interface EnvironmentCapable { /** * Return the ...
2019-09-30 18:21:27 2629 1
原创 【Spring(十一)】国际化
Spring的国际化是通过接口MessageSource来定义的。先看下该接口:public interface MessageSource { @Nullable String getMessage(String code, @Nullable Object[] args, @Nullable String defaultMessage, Locale locale); Str...
2019-09-29 00:11:11 530
原创 【Spring(十)】事件机制
Spring的高级容器接口继承了ApplicationEventPublisher接口,说明其具备了事件发布的能力,这里就介绍下Spring的事件功能。不过说实话,这个功能貌似很鸡肋,没见过使用场景。但是不影响我们抱着学习的态度研究下。首先看下接口定义:@FunctionalInterfacepublic interface ApplicationEventPublisher {...
2019-09-26 21:56:15 118
原创 【Spring(九)】Aware 接口
Spring中很多接口带有Aware后缀,具体什么含义呢?Aware本身就是一个接口:public interface Aware {}字面意思是通知,本身其实是回调接口,也带有标记接口的意味。Spring会把检测实现了Aware接口的bean,然后调用其接口方法。接口方法一般是设置某一个变量的回调,也就是spring回调实现方的aware方法,将某一个变量回传。比如说App...
2019-09-26 00:26:20 374
原创 【Java】关于 泛型协变 可能是讲的最清楚的一篇了
首先明确下什么是协变?然后再上一个事实:泛型不允许协变,而数组允许协变紧跟着上面的事实:不允许定义泛型数组这一篇文章主要围绕上面三个问题展开。什么是协变?在泛型或者数组的case下,协变其实指的是,基础类型具备父子关系,那么对应的容器类型也具备。举个例子:class F{}class S extends F{}public class Main1 {...
2019-09-21 22:28:15 1774 7
原创 【Spring(八)】父子容器
Spring的容器具可以具有父子关系。具体含义就是:如果两个容器具有父子关系,那么在查找bean时,会先从子容器中查找,如果没有就查找父容器。但是父容器不能查找子容器的bean。这个特性有什么意义?比如,现在有一个应用,确实需要隔离不同的bean在不同的容器中,所以需要创建多个spring容器。但是,这些容器的bean可能都需要一些基础的bean,比方说数据访问层的bean,那总不能每一个...
2019-09-21 18:23:47 730
原创 【Java】泛型
总结几个泛型中的典型问题。1.泛型作用Java在1.5中引入了泛型的概念,为什么要引入?解决什么样的问题?泛型主要用在“编写与类型无关的类”的场景中。比方说,我想写一个容器类,可以放Integer,可以放String,可以放任意类型。是不是针对每一种类型都要实现一套容器?这样很显然不合理,因为关于容器部分的代码都是一样的,区别就是类型不同而已。所以,目的是只写一套代码,支持不同的...
2019-09-09 00:09:10 155
原创 【Java】中断
中断是计算机中一个很大的概念,被广泛用在各种领域中。这里主要介绍下java语言中线程的中断以及InterruptedException异常。在java语言里,这一逻辑其实很简单。java的线程中断api只是为该线程打上一个中断的标记,并不能真正的中断一个线程。如果想要实现中断操作,需要业务去根据标记做编程。大多数情况下,中断的操作就是抛出一个InterruptedException的异常。当然...
2019-09-08 18:57:41 183
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人