Spring Bean的生命周期

调用时机需要注意:所有的Aware方法都是在初始化阶段之前调用的,可以看到并不是所有的Aware接口都使用同样的方式调用,因为Aware方法都是执行在初始化方法之前,这也说明了Aware都是在初始化阶段之前调用的

Spring 中的事件机制 ApplicationEventPublisher

用户注册业务和发布用户注册事件,ApplicationContext 通过 ApplicationEvent 类和 ApplicationListener 接口进行事件处理,当用户注册后,给他发送一封邮件通知他注册成功了

SpringBoot读取配置文件属性的N种方式/@Value读取数组,List

@Value注解读取普通属性,通过注入获取Environment对象,@Value注解读取数组,@Value注解读取数组

SpringBoot常用工具类

InitializingBean 实现该接口可以做一些初始化动作,可以在这个方法中做一些比如清理资源的动作,WebUtils 获取 web 资源工具类,FactoryBean 通过实现该接口可以将我们自定义的 Bean 注入到 Spring 的容器当中去

Spring之Environment

profile 配置是一个被命名的、bean 定义的逻辑组,在 application.properties 配置文件使用不同的环境会执行不同的方法,使用 profile 帮我解决了不同环境使用不同配置的问题,一个 profile 就是一组 Bean 定义的逻辑分组

Springboot/Spring获取ApplicationContext

在Controller中获取ApplicationContext,在Controller中获取ApplicationContext,构造器注入,构造器注入

如何在Java中对array, list, map 和 set进行排序

Java程序使用 接口实现对列表进行排序,Java程序使用[Arrays.sort()]方法按升序对整数数组进行[排序],可以通过 和自动对实现此接口的对象的列表(和数组)进行排序,不直接支持对Java中的集合进行排序

SpringBoot中跨域(Cors)设置

当请求到来时会先进入拦截器中,拦截器 addCorsMappings,所以返回的头信息中并没有配置的跨域信息,如果有自定义拦截器,此方法会失效. 原因是请求经过的先后顺序问题

springboot项目启动后执行一段代码的两种方式

springboot项目启动后执行一段代码的两种方式,ApplicationRunner run(ApplicationArguments args),CommandLineRunner run(String… args),不同点:两种实现方式的不同之处在于run方法中接收的参数类型不一样

java中long,Long怎么比较大小

Java中如果使用 == 双等于比较对象,Long 在Java中属于包装类型,对象创建后存放在堆中,long 在Java中属于基本类型,等于比较的是两个对象的内存地址

入门小站