聚富彩票源码下载

聚富彩票源码下载

地址一:【hubawl.com】
地址二:【bbscherry.com】

自定义注解

package com.xiaojukeji.common.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ ElementType.METHOD })br/>@Retention(RetentionPolicy.RUNTIME)
public @interface SystemLogAnnotation {
String value();
}

(1)@Target注解是标注这个类它可以标注的位置,常用的元素类型(ElementType):

public enum ElementType {
/* Class, interface (including annotation type), or enum declaration /
// TYPE类型可以声明在类上或枚举上或者是注解上
TYPE,

/** Field declaration (includes enum constants) */
// FIELD声明在字段上
FIELD, 

/** Method declaration */
// 声明在方法上
METHOD, 

/** Formal parameter declaration */
// 声明在形参列表中
PARAMETER, 

/** Constructor declaration */
// 声明在构造方法上
CONSTRUCTOR, 

/** Local variable declaration */
// 声明在局部变量上
LOCAL_VARIABLE, 

/** Annotation type declaration */
ANNOTATION_TYPE, 

/** Package declaration */
PACKAGE, 

/** * Type parameter declaration * * @since 1.8 */
TYPE_PARAMETER, 

/** * Use of a type * * @since 1.8 */
TYPE_USE

}

(2)@Retention注解表示的是本注解(标注这个注解的注解保留时期)

public enum RetentionPolicy {
/**

  • Annotations are to be discarded by the compiler.
    */
    // 源代码时期
    SOURCE,

    /**

  • Annotations are to be recorded in the class file by the compiler
  • but need not be retained by the VM at run time. This is the default
  • behavior.
    */
    // 字节码时期, 编译之后
    CLASS,

    /**

  • Annotations are to be recorded in the class file by the compiler and
  • retained by the VM at run time, so they may be read reflectively.
  • @see java.lang.reflect.AnnotatedElement
    */
    // 运行时期, 也就是一直保留, 通常也都用这个
    RUNTIME
    }

(3)@Documented是否生成文档的标注, 也就是生成接口文档是, 是否生成注解文档

二.AOP切面类---此处我用后置通知

package com.xiaojukeji.ecm.aop;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import nl.bitwalker.useragentutils.UserAgent;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import com.xiaojukeji.common.annotation.SystemLogAnnotation;
import com.xiaojukeji.dao.model.SystemLog;
import com.xiaojukeji.ep.ip.common.model.AdUser;
import com.xiaojukeji.ep.ip.common.utils.ContextHolder;
import com.xiaojukeji.service.ERPService;
import com.xiaojukeji.service.SystemLogService;
/**

package com.xiaojukeji.ecm.controller;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import com.xiaojukeji.common.annotation.SystemLogAnnotation;
import com.xiaojukeji.dao.model.Terminal;
import com.xiaojukeji.service.TerminalService;

/**

四.启动项目,请求此controller里的导出方法,在此方法的return前执行后置操作,既记录日志。

五.注解讲解:

类注解:

@Aspect将一个类定义为一个切面类
@order(i)标记切面类的处理优先级,i值越小,优先级别越高.PS:可以注解类,也能注解到方法上

方法注解:

@Pointcut定义一个方法为切点里面的内容为一个表达式,下面详细介绍
@Before 在切点前执行方法,内容为指定的切点
@After 在切点后,return前执行,
br/>@AfterReturning在切入点,return后执行,如果想对某些方法的返回参数进行处理,可以在这操作
@Around 环绕切点,在进入切点前,跟切点后执行
@AfterThrowing 在切点后抛出异常进行处理
@order(i) 标记切点的优先级,i越小,优先级越高

@Pointcut注解组合使用:

上面代码中,我们定义了一个切点,该切点只进行处理指定路径的:

@Pointcut("execution(public com.example.DemoApplication.(..))")
private void controllerAspect(){}
现在,我们在定义一个处理其他路径下的切点:

@Pointcut("execution(public com.demo..*(..))")
private void controllerDemo(){}
以上切点,都是分别处理不同的内容,如果我们需要一个切点来处理他们两者,我们可以这么配置:

@Pointcut(value = "controllerAspect() || controllerDemo()")
private void all(){}
在@Pointcut注解内,直接引用其它被@Pointcut注解过的方法名称,这样,该切点就可以处理两个路径下的方法

在多个execution表达式之间使用 ||,or表示 或,使用 &&,and表示 与,!表示 非.

execution( com.travelsky.ccboy.dao...find(..)) || execution( com.travelsky.ccboy.dao...query(..))

@Pointcut注解中的execution表达式: public com.demo..*(..)

第一个 public 表示方法的修饰符,可以用代替
第一个
表示 返回值,代表所有
com.demo.
包路径,.表示路径下的所有包
第三个.
表示路径下,所有包下的所有类的方法
(..) 表示不限方法参数

关于@order(i)注解的一些注意事项:

注解类,i值是,值越小,优先级越高
注解方法,分两种情况
注解的是 @Before 是i值越小,优先级越高
注解的是 @After或者@AfterReturning 中,i值越大,优先级越高

总结两者的概括就是:
在切入点前的操作,按order的值由小到大执行
在切入点后的操作,按order的值由大到小执行

聚富彩票源码下载

原文地址:http://blog.51cto.com/13842261/2133787

时间: 2024-08-17 06:18:17

聚富彩票源码下载的相关文章

大发彩票源码下载

大发彩票源码下载 地址一:[hubawl.com]地址二:[bbscherry.com] 对象 java的自动内存管理:给对象分配内存和回收分配给对象的内存. 的内存分配,就是在堆上面分配,对象主要分配到新生代的Eden区上.如果要是启动了本地线程分配缓冲,将按照线程优先在TLAB上分配,少数情况下,也可能直接分配在老年代. 1 对象优先在Eden分配 大多数情况下,对象在新生代Eden区中分配,当Eden区没有足够空间进行分配时,虚拟机将发起一次Minor GC . 注意:Minor GC即新

为何能用HTML/CSS解决的大发彩票源码下载问题就不要使用JS?

为什么大发彩票源码下载Q1446595067 论坛:haozbbs.com说能使用html/css解决的问题就不要使用JS呢?两个字,因为简单.简单就意味着更快的开发速度,更小的维护成本,同时往往具有更好的体验,下面介绍几个实例.1.导航高亮 导航高亮是一种很常见的问题,包括当前页面的导航在菜单里面高亮和hover时高亮.你可以用js控制,但是用一点CSS技巧就可以达到这个目的,不需要使用JS. 640?wx_fmt=png&wxfrom=5&wx_lazy=1 640?wx_fmt=pn

详解聚富彩票源码搭建 HTML表单与PHP

表单的的与PHP相关联的属性 action属性指向处理表单的PHP脚本. method属性接受两个参数,post/get;详解聚富彩票源码搭建bbs.yasewl.com请添加链接描述 post与get的差异 1.get会公开地将用户输入表单的信息发送给php脚本,不安全: 2.get传送的信息有限. 3.使用get方式的表单创建的页面能够被添加为书签,post不可以. 4.重载post访问的页面,会显示提示信息,get不会. 所以get主要用于从服务器强求数据的行为例如,搜索请求等,post用

关于怎么做大发彩票源码下载高质量的代码,给你提供一些解决方案

写出大发彩票源码下载论坛:haozbbs.com Q1446595067高质量代码,并不是搭建空中楼阁,需要有一定的基础:这里我重点强调与代码质量密切相关的几点: 掌握好开发语言,比如做Android就必须对Java足够熟悉,<Effective Java>一书就是教授大家如何更好得掌握Java, 写出高质量Java代码. 熟悉开发平台, 不同的开发平台,有不同的API, 有不同的工作原理,同样是Java代码,在PC上写与Android上写很多地方不一样,要去熟悉Android编程的一些特性,

彩票×××源码下载搭建

黄埔PHP版US盘口,高仿.net正版us时时彩,修复采集完美版 PHP版八合一盘口时时彩源码分享,带最新采集可自行测试 php版八合一盘口带动画时时彩源码,带最新采集自行测试us时时彩源码五合一盘口蓝色版本 亲测功能完美运营版58彩票时时彩程序源码,永久VIP免费下载!拉菲娱乐-HTML5全屏自适应带开奖软件+WAP独立端 8 2018新版微信娱乐系统,微信赛车,飞艇,时时彩,28,摩托等彩种!新快三天恒版程序带手机版 香港赛马开奖网带视频,后台可控,大神源码论坛独家分享 香港赛车PK10开奖

WS彩票游戏完整商业程序源码下载

WS彩票游戏完整商业程序源码下载:http://www.ttkmwl.com/thread-640-1-1.html 源码介绍:完美架设不会架设的不要乱叫程序不完整   不能架设我头给你当凳子坐   求银票换点其他的程序 1.在IIS6.0  安装NET4.O 在IIS里面设置NET4.0版本 首页设置INDEX.ASPX   2.添加.htm  .auth   映射为aspx.dll3.安装SQL2008 R2 还原数据库 BAK 4.修改配置文件webconfig <add name="

北京赛车彩票网站源码下载平台一条龙搭建安装过程详解

1. 系统需求需要最新源码,二次开发的联系202-101-8216=========================================== 1) 操作系统:Windows XP+IIS5.1 / Windows 2003+IIS6.0 / Windows 2008+IIS7.5 2) 数 据 库:SQL Server 2008 / SQL Server 2008 / SQL Server 2008 3) 其 他:FSO(FileSystemObject) 4) 使用Email功能,

ThinkPHP开发的全天时时彩计划网络+预测+WAP手机版源码下载

ThinkPHP开发的全天时时彩计划网络+预测+WAP手机版源码下载Q:2172243813运行环境:php5.2+mysql 源码类别:时时彩(彩票)现金网系统/两面盘 界面语言:简体中文 源码授权:无加密文件及认证授权,永久性可直接使用. 版本支持:PC/WAP网页版 编程语言:PHP 一个按钮小插件,首先引入css和js <script type="text/javascript" src="../js/jquery-1.11.3.js" ><

cocos Creator js 房卡麻将/血战/H5四川麻将源码下载搭建

房卡麻将/血战/H5四川麻将 源码 支持iOS/Android/H5 完整源码 1.基于NODEJS+MYSQL的服务器,成熟的技术方案,高效稳定,且方便Windows开发,Linux平台布署,节约服务器运转成本. 2.采用最新版本的cocos引擎,cocos creator开发,可快速的进行界面调整.且能够快速地发布iOS,Android版本. 3.如需H5版本,只需针对H5平台进行资源优化即可. 4.成熟可靠的房卡式设计,能满足大部分用户使用体验. 5.产品经过大量测试,可以运转稳定. 测试