发表于: 2017-07-10 17:59:17
3 1467
今天完成的事:
补充了一点spring的知识;查询了一下日志的知识;查询了一下debug的知识;顺手记了一点IDEA的快捷键。
如下:
首先是spring
spring bean作用域
单例:
<bean id="customerService" class="com.yiibai.customer.services.CustomerService" />
在单例中,每个Spring IoC容器只有一个实例,无论多少次调用 getBean()方法获取它,它总是返回同一个实例。
原型(prototype)
<bean id="customerService" class="com.yiibai.customer.services.CustomerService" scope="prototype"/>
在原型作用域,必须为每个 getBean()方法中调用返回一个新的实例。
可以使用注释来定义 bean 的作用域。
@Service
@Scope("prototype")
需要启用自动组件扫描(下面是自动组件?)
<context:component-scan base-package="com.yiibai.customer" />
spring注入bean时
除了接口及其实现类,还需要一个辅助类Helper来实现setter注入,之后在bean.xml配置文件中设置关联
然后是Log4j日志
log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。
日志信息优先级从高到低有ERROR、WARN、INFO、DEBUG,来指定这条日志信息的重要程度;
日志信息的输出目的地指定了日志将打印到控制台还是文件中;
而输出格式则控制了日志信息的显示内容。
配置文件Log4j.xml
1.配置根Logger,语法:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
level是日志记录优先级,appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。
2.配置日志信息输出目的地Appender
log4j.appender.appenderName = fully.qualified.name.of.appender.class
其中,Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
3.配置日志信息的布局
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
其中,Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
4.输出格式设置
在配置文件中可以通过log4j.appender.A1.layout.ConversionPattern设置日志输出格式。
然后有一堆参数
挑重要的:
%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,
%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,
%n: 输出一个回车换行符,Windows平台为”\r\n”,Unix平台为”\n”输出日志信息换行
%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。
%F: 输出日志消息产生时所在的文件名称
%L: 输出代码中的行号
%m: 输出代码中指定的消息,产生的日志具体信息
使用log4j先要导入jar包
commons-logging.jar
logging-log4j-1.2.9.jar(版本选人多的)
第一步要获取日志记录器,这个记录器将负责控制日志信息
推荐使用commons-logging结合log4j进行日志记录
private static Log logger = LogFactory.getLog(Yourclass.class);
然后就可以插入记录信息了
Logger.debug ( Object message ) ;
Logger.info ( Object message ) ;
Logger.warn ( Object message ) ;
Logger.error ( Object message ) ;
Debug部分
IDEAdebug的快捷键
F8 step over:
在调试中的主要作用是在在断点之间一步步调试,当在断点行里包含了方法的时候也就是调用了其它的方法的时候是不会进入这个方法的方法体中的,该键的主要功能是在断点之间逐个测试。
F7,step into:
在断点调试的过程中可以配合F8,step over,当断点处有方法调用的时候若想进入到方法中进行查看方法中的执行过程或者执行过程中的变量的时候是可以用这个快捷键的。
然后进入方法体继续按F7逐条执行;
如果进入的方法体内还有方法想要进入,需要用另一个快捷键alt +shift +F7
最后顺手的一些IDEA的快捷键
IDEA的快捷键:
1. Ctrl + Space: 完成类、方法、变量名称的自动输入
2. Ctrl + N(Ctrl + Shift + N): 跳转到指定的java类(java文件)
3. Ctrl + B: 跳转到定义处(没懂什么意思)
4. Ctrl + Alt + Right/Left: 在编辑过的代码位置之间跳转(前进/后退)
5. Ctrl + Alt + B : 跳转到方法实现处
6. Shift + F6: 提供对方法、变量的重命名
7. Ctrl + Alt + O :优化import自动去除无用的import语句
8.Ctrl+Alt+L: 格式化代码
9.Alt+Insert: 生成代码(如get,set方法,构造函数等)
10.Ctrl+E或者Alt+Shift+C: 最近更改的代码
11.Alt+F1: 查找代码所在位置
明天的计划: 今天用剩下的时间先了解一下服务器的知识,然后明天买个服务器,继续进行接下来的任务。
收获:了解了一些spring、日志、debug的知识;收集了一点IDEA的常用快捷键。
评论