Spring对AOP的实现提供了很好的支持。下面我们就使用Spring的注解来完成AOP做一个例子。
首先,为了使用Spring的AOP注解功能,必须导入如下几个包。aspectjrt.jar,aspectjweaver.jar,cglib-nodep.jar.
然后我们写一个接口
package com.bird.service; public interface PersonServer { public void save(String name); public void update(String name, Integer id); public String getPersonName(Integer id); }
和一个接口实现类
package com.bird.service.impl; import com.bird.service.PersonServer; public class PersonServiceBean implements PersonServer{ @Override public void save(String name) { System.out.println("我是save方法"); // throw new RuntimeException(); } @Override public void update(String name, Integer id) { System.out.println("我是update()方法"); } @Override public String getPersonName(Integer id) { System.out.println("我是getPersonName()方法"); return "xxx"; } }
下面使用Spring注解方式对这个Bean进行方法拦截
面试官:请你谈谈标准(Standards)模式、怪异(Quirks)模式、准标准(Almost Standards)模式,当你打开IE9时候会看见,浏览器模式,文档模式,兼容性视图,这些又是什么?
尼玛啊......这些都是什么鸟东西......
好吧,一点点来:先明白一个词DTD(文档类型定义),也就是你F12后,页面里第一行的一串东西,即doctype声明。
这一串东西就是告诉浏览器你要用何种模式来渲染页面,说白了就是让浏览器用何种标准的CSS进行页面布局。
有三种模式供你选择:
官方定义:
- 标准模式(Standards Mode)
标准模式中,浏览器尝试给符合标准的文档在规范上的正确处理达到在指定浏览器中的程度。
- 准标准模式(Almost Standards Mode)
它按照传统的做法来实现表格单元格的垂直尺寸而不是严格的遵照CSS2规范,更接近Mozilla的准标准模式而不是Mozilla的标准模式。
- 怪癖模式(Quirks Mode)
怪癖模式中,为了避免“破坏”那些根据在20世纪90年代末流行的实践创作的页面,浏览器违反了现代的Web格式规范。不同的浏览器实现了不同的怪癖行为。IE6、7和8中,怪癖模式有效地冻结在IE5.5 。其他浏览器中,怪癖模式是对准标准模式的少量偏移。
自定义:
- 标准模式(Standards Mode)
官方规定,你跟着照做就行了。
- 准标准模式(Almost Standards Mode)
在设置line-height,某些情况下的height,这两种效果会无法正确执行,其他和标准一样(当前新浏览器已经放弃了此模式)
- 怪癖模式(Quirks Mode)
一种非主流模式,由于当年IE6灰常NB,当时所有的页面都要符合他的渲染标准,但由于标准的出现,大量的页面都无法适应新标准,而IE为了包容这些站点,所以保留了这种模式,也就是不规范的CSS算法,主要体现在盒子模型上。
触发方式:
- 标准模式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!-- 兼容XHTML废弃的标签 -->
- 准标准模式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
- 怪癖模式
第一行不写,或写错DOCTYPE就能触发
- 一统江湖式
想以后侃倒面试官的请阅读:
外国某大神的:Activating Browser Modes with Doctype;国内谋神翻译版:《用doctype激活浏览器模式》
各种模式详细触发:DOCTYPE声明问题 (PS:包含各种变态的IE模式)
准标准模式相关:Gecko's "Almost Standards" Mode
Almost Target
本文链接
Gruntjs是JavaScript项目的构建工具,也是基于node的一个命令行工具。很多开源JS项目都是使用它搭建。如jQuery、Qunit、CanJS等。它有以下作用
- 合并JS文件
- 压缩JS文件
- 单元测试(基于QUnit)
- 一句话:完全自动化(automation)
以下是它的安装过程。
一、安装node
参考nodejs入门 (最新的node会自动安装npm)
二、安装grunt命令行工具grunt-cli
使用-g全局安装,这样可以在任何一个目录里使用了。命令: npm install -g grunt-cli
需要注意的是在linux或mac下有时会报没有权限的错误,这时须在前面加一个sudo,
安装后,可以查看改工具的版本。命令: grunt -version
三、安装grunt及其插件
进入到某项目根目录,使用命令: npm install grunt --save-dev
此时,再查看grunt版本会多了一个4.0,如下
至此,安装完毕。
本文链接