Spring使用@Aspect注解创建切面

1. 表演接口Performance 和舞台剧LivingTheatre

package concert;

/**
 * ①普通Java类
 * Created by guoli on 2017/7/23 0023.
 * YXV0aG9yOiB6aGFuZ2d1b2xpLmNu
 */

/**
 * Performance只是一个普通的Java接口
 * 使用如下切点表达式可以设置当perform()方法执行时触发通知的调用
 * execution(*  concert.LivingTheatre.perform(..))
 * 切点表达式解释如下:
 * execution 在方法执行时触发
 * *任意返回值类型
 * concert.LivingTheatre.perform 包-类/接口-方法
 * .. 任意参数
 */
public interface Performance {
    public void perform();
}
package concert;

import org.springframework.stereotype.Component;

/**
 * ②实现Performance接口的普通类
 * Created by guoli on 2017/7/23 0023.
 * YXV0aG9yOiB6aGFuZ2d1b2xpLmNu
 */

/**
 * @Component泛指组件,和@Controller、@Service、@Repository在大多数情况下是通用的
 */
@Component
public class LivingTheatre implements Performance {

    @Override
    public void perform() {
        System.out.println("kaixinmahua........");
    }
}

2. 切点表达式

切点表达式基础知识

- 阅读全文 -

Windows下Linux安装

1. 下载Nginx for Windows压缩包

访问http://nginx.org/en/download.html ,或直接下载http://nginx.org/download/nginx-1.8.1.zip

2. 解压到特定目录,进入该目录

此处为 D:\Program Files\nginx-1.8.1

3. 运行命令行 start nginx

4. 查看状态 tasklist /fi "imagename eq nginx.exe"

5. 重新加载配置文件 nginx -s reload

nginx -s stop 强制停止
nginx -s quit "关机"

Linux下Nginx的安装:http://zhangguoli.cn/linux-nginx-install.html

Java Can't connect to X11 window server using 'localhost:11.0' as the value of the DISPLAY variable

Linux下启动Tomcat报错:

ERROR:java.lang.InternalError: Can't connect to X11 window server using 'localhost:11.0' as the value of the DISPLAY variable.

查询得知是因为linux上没有启动x server。

解决办法

1、 修改tomcat/bin/catalina.sh

在所有的-Dcatalina.home="$CATALINA_HOME" /后面增加-Djava.awt.headless=true \

 -Dcatalina.home="\"$CATALINA_HOME\"" \
 -Djava.awt.headless=true  \

2、export DISPLAY=:0

Nginx配置代理

Nginx的安装:http://zhangguoli.cn/nginx-install.html

假设有3台服务器,分别是:
A : 10.10.1.1 Nginx
B : 10.10.6.2:8090 bbb
C : 10.10.6.3:8086 ccc
没有配置Nginx代理前,B访问地址是 10.10.6.2:8090/bbb ,C的访问地址是10.10.6.3:8086/ccc
配置代理之后, B、C的访问地址分别是10.10.1.1/bbb ,10.10.1.1/ccc

修改nginx.conf

文件位置:./nginx/conf/nginx.conf

1. 在http和server节点分别include配置文件

- 阅读全文 -

Linux下Nginx安装

OS: CentOS release 6.5 (Final)

0、准备PCRE和Nginx安装包

下载pcre-8.40.tar.gz http://pcre.org
下载nginx-1.2.9.tar.gz http://nginx.org/en/download.html

1、安装依赖

yum -y install gcc openssl-devel pcre-devel zlib-devel

2、安装PCRE(使Nginx支持http rewrite的模块)

tar zxvf pcre-8.40.tar.gz
cd pcre-8.40
./configure
make
make install

3、安装Nginx

- 阅读全文 -

面向切面编程

  1. 要解决的问题(背景)

有一些功能需要应用到程序的多个地方但是又不想在每个业务点明确的调用它,比如日志,安全和事务管理.

  1. 横切关注点

散布于应用中多处的功能被称为横切关注点,简单来说就是影响应用多处的功能,比如日志.

  1. AOP可以实现横切关注点和他们所影响的对象间解耦

[图:日志系统在各个业务流程中的位置]

面向切面编程的使用步骤:

`定义通用的功能`,`定义这个功能以何方式在何处用`

横切关注点可以被模块化为特殊的类,这些类被称为切面(aspect).

这样做可以使关注点集中到一个地方,其次业务代码更简洁,主要关注点和次要关注点的代码分开在不同的位置.

AOP相关的术语

莫非,这就是爱情

  1. 如果事情有两种可能,你不想要的越会发生。
  2. 带伞的时候不下雨,没带伞的时候下大雨。
  3. 有效的解决方案,都会带来新的问题。
  4. 事情永远做不完,但总有多的时间重做。
  5. 越不想遇到的人,越容易遇到。
  6. 要是一切看来顺利,一定有哪里出错了。
  7. 关键时候最需要的东西,偏偏不在手上。
  8. 穿高跟鞋那天,地上一定坑坑洞洞。
  9. 想找到一个人时,翻遍全世界都找不到他。
  10. 事情往往都没有表面上看起来那么简单。
  11. 即使相爱,总有一个不能在一起的完美理由。

以上内容摘抄自维基百科,不代表本人观点

JavaScript实现iframe获取父窗口URL

    url = window.top.document.referrer ; 
    url = document.referrer;
    url = window.top.location.href;
    if (window.parent) { 
        url = window.parent.document.referrer;
    } 

Nginx配置favicon.ico

环境:Nginx日志报错说找不到favicon.ico文件

修改Nginx的配置文件nginx/conf/nginx.conf

  1. 如果原来Nginx已经配置了 root /home/wwwroot,直接把favicon.ico文件放到root对应的目录下即可
  1. 也可以单独设置 favicon.ico文件的路径
    location ~ ^/favicon\.ico$ {
        root    /home/nginx-assets/img;
    }

这样把favicon.ico放到/home/nginx-assets/img也可以实现效果,如下图:

张国利博客