发表于: 2017-10-03 23:14:54

1 788


今天完成的事情:

1.实现类和接口的关系

1. 非抽象类实现一个接口时,必须要把接口中所有方法全部实现。
2. 抽象类实现一个接口时,可以实现也可以不实现接口中的 方法。
3. 一个类可以实现多个接口 。

Animals animals=new dog();

Animals是个抽象的类,但我们不能实例化它,那怎么使用它里面的方法呢.那我们先new一个Animals子类的对象,因为子类继承了它父类的所有方法,所以将子类的对象放在内存里,animals这个东西(暂时怎么理解吧)不是一个实体,它只是指向子类对象的一条线,然后就可以用animals去调用Animals里的方法.

log4j

1、Loggers 
Loggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用来指定这条日志信息的重要程度,明白这一点很重要,Log4j有一个规则:只输出级别不低于设定级别的日志信息,假设Loggers级别设定为INFO,则INFO、WARN、ERROR和FATAL级别的日志信息都会输出,而级别比INFO低的DEBUG则不会输出。 
2、Appenders 
禁用和使用日志请求只是Log4j的基本功能,Log4j日志系统还提供许多强大的功能,比如允许把日志输出到不同的地方,如控制台(Console)、文件(Files)等,可以根据天数或者文件大小产生新的文件,可以以流的形式发送到其它地方等等。 

3、Layouts 

有时用户希望根据自己的喜好格式化自己的日志输出,Log4j可以在Appenders的后面附加Layouts来完成这个功能。 Layouts提供四种日志输出样式,如根据HTML样式、自由指定样式、包含日志级别与信息的样式和包含日志时间、线程、类别等信息的样式。 

常用配置

log4j.rootLogger=DEBUG,console,dailyFile,im 
log4j.additivity.org.apache=true 
# 控制台(console) 

log4j.appender.console=org.apache.log4j.ConsoleAppender 

//这个打印到控制台的类

log4j.appender.console.Threshold=DEBUG 

//打印级别,debug级别以上都打印

log4j.appender.console.ImmediateFlush=true 

//立即打印

log4j.appender.console.Target=System.err

默认值为system.out 

log4j.appender.console.layout=org.apache.log4j.PatternLayout 

可以灵活地指定布局模式

log4j.appender.console.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n 

布局格式

# 定期回滚日志文件(dailyFile) 
log4j.appender.dailyFile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.dailyFile.Threshold=DEBUG 
log4j.appender.dailyFile.ImmediateFlush=true 
log4j.appender.dailyFile.Append=true 

log4j.appender.dailyFile.File=D:/logs/log.log4j 

日志文件的位置

log4j.appender.dailyFile.DatePattern='.'yyyy-MM-dd 
log4j.appender.dailyFile.layout=org.apache.log4j.PatternLayout 

log4j.appender.dailyFile.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n 

明天的计划:明天再把这个jdbctemplate的例子看透,再写一个mybatis的例子

遇到的问题:今天在写sql语句的时候出了问题

后来发现是因为我的表有13个字段,而我只用了4个字段,所以赋值的时候系统无法判断该赋值给哪个字段,所以报错

正确sql:INSERT INTO student (ID,name,qq,type) values(?,?,?,?);

这个是因为update sql语句顺序对不上,id写在了后面.

这个是在junit单元测试的时候,我以为单元测试的每个测试方法都是独立了,其他的 方法有问题也可以跑通,后来发现必须项目没问题才可以单元测试,也就是说要写一个模块测一个模块.

收获:学习了jdbc template了解了他和mybatis的大概区别和优缺点,等明天写完mybatis再总结吧.今天还更深入的理解了ioc,现在也没到总结的地步,再等等吧.







返回列表 返回列表
评论

    分享到