第一章 后端技术导言www.cpwiremesh.com
知其然知其所以然。不能一年经验重复N年,毕竟一个什么都做过、什么都用过却什么也不精通的人很容易被替代。
如何学习一门新技术
学习新技术的流程
看源码的流程:
1)阅读该技术的架构文档,了解其总体架构和组成。
2)根据总体架构,将源码文件以模块或者上下层级进行分类。
3)从未阅读过的模块中选择最独立(依赖性最小)的模块读起
4)阅读此模块的功能介绍文档
5)阅读此模块的源代码
6)一边阅读一边整理调用关系
7)转到第3)步。
第2章 Java项目与工程化
第3章 开放框架
JDK Logging是在java.util.logging包下面,所以又称作JUL。
Log4j2不仅提供了门面,还提供了实现。
log4j-api:作为日志接口层,用来统一底层日志系统。
log4-core:作为上述日志的实现,是一个具体的日志框架。
Apache Commons Logging经常被称为JCL,是Java开源的日志门面框架。JCL与其他实现框架的关系是:
1)如果没有其他jar包,就调用自己对JUL的封装实现。
2)如果使用log4j2,那么还需要引入他们的集成包log4j-jcl
3)如果使用LogBack,因为LogBack强依赖slf4j,所以需要引入jcl-over-slfj(直接覆盖了jcl的类)slf4j
slf4j是一个纯框架,不像JCL一样有实现。
1)使用JUL的话,需要引入
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-jdk14</artifactId> <version>xxxx</version> <scope>test</scope></dependency>
2)使用log4j实现,需要引入:
依赖包
3)如果需要使用log4j2,需要引入:
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api --><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>xxx</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core --><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>xxx</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-slf4j-impl --><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>xxx</version></dependency>
4)如果使用LogBack,则只需要引入logBack包即可。