程序开发 Logback 使用和配置 一、简介 之前介绍过Java 的日志框架体系以及 slf4j 的整合,logback 则是具体实现,官网地址:http://logback.qos.ch/ Logback 共定义了8个级别的,除去OFF和ALL,可以说分为6个级别。优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。目前官方推荐的共四个级别:ERROR、WARN、INFO、D…
程序开发 SpringBean 初始化的执行各方法的顺序 Spring 容器在创建 SpringBean 的时候,会帮我们自动给属性赋值,还有一些初始化方法和一些增强的方法。 因此,了解这些方法的顺序很有必要,这样可以了解方法增强的时机,有助于更好地编写代码。 通过如下案例可以看见执行的先后顺序: MyBean.java @Data public class MyBean implements InitializingBean { private Str…
程序开发 源码学习 Spring 容器初始化流程 0. 简介 本文以 ClassPathXmlApplicationContext 源码学习 Spring 初始化流程,那么首先要了解它实现了哪些接口,可以直观地了解到它具备了哪些能力。 最重要的一点是它实现了 BeanFactory 接口,BeanFactory 其实就是常说的 ioc 容器,因为它实现了该接口,所以 ClassPathXmlApplicationContext 也是 ioc 容器…
程序开发 Spring 注册组件的几种方式 向 Spring 容器中注册组件是最常见的操作,不过组件注册的方式有很多种,可以选择合适的方式进行注册。 1. @ComponentScan注解 这种方式会将指定包下配置了 @Component、@Controller、@Service、@Repository 的组件注册到容器中。 另外 @ComponentScan 注册组件可以指定和排除某些类或者用注解标记的某些类。 例如: // 这里的 @C…
程序开发 Spring 创建自定义命名空间和自定义标签 之前有了解过 Spirng 是如何解析第三方 xml 标签的,那么可以根据该原理写一个自定义命名空间和自定义标签,有助于我们学习其他相关框架。 接下来就自定义一个命名空间下的 mybean 标签,往容器中存放 mybean 配置的对象对象。 一、自定义命名空间和标签 通常分为以下几个步骤: 1.确定命名空间名称、schema 虚拟路径、标签名称 2.编写标签约束文件和映射 3.编写处理器映射文件和…