Skip to content

Instantly share code, notes, and snippets.

@JavaNoobPig
JavaNoobPig / IntroductionSpring34_5.java
Created March 15, 2019 00:34
IntroductionSpring34_5
package com.pig.spring.springaop.springaop.aspect;
import org.aspectj.lang.annotation.Pointcut;
public class CommonJoinPointConfig {
//下面這個data層的Method的QualifedName:
//com.pig.spring.springaop.springaop.aspect.CommonJoinPointConfig.dataLayerExecution()
@Pointcut("execution(* com.pig.spring.springaop.springaop.data.*.*(..))")
@JavaNoobPig
JavaNoobPig / IntroductionSpring34_6.java
Created March 15, 2019 00:39
IntroductionSpring34_6
package com.pig.spring.springaop.springaop.aspect;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Configuration;
@Aspect
@JavaNoobPig
JavaNoobPig / IntroductionSpring34_7.java
Last active March 15, 2019 00:43
IntroductionSpring34_7
package com.pig.spring.springaop.springaop.aspect;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Configuration;
@Aspect
@JavaNoobPig
JavaNoobPig / IntroductionSpring34_8.java
Created March 15, 2019 00:44
IntroductionSpring34_8
package com.pig.spring.springaop.springaop.aspect;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Configuration;
@JavaNoobPig
JavaNoobPig / IntroductionSpring34_9.java
Created March 15, 2019 02:05
IntroductionSpring34_9
package com.pig.spring.springaop.springaop.aspect;
import org.aspectj.lang.annotation.Pointcut;
public class CommonJoinPointConfig {
//下面這個data層的Method的QualifedName:
//com.pig.spring.springaop.springaop.aspect.CommonJoinPointConfig.dataLayerExecution()
@Pointcut("execution(* com.pig.spring.springaop.springaop.data.*.*(..))")
@JavaNoobPig
JavaNoobPig / IntroductionSpring35_1.java
Last active March 15, 2019 02:58
IntroductionSpring35_1
package com.pig.spring.springaop.springaop.aspect;
//Methods
//Runtime
public @interface TrackTime {
}
@JavaNoobPig
JavaNoobPig / IntroductionSpring35_2.java
Last active March 15, 2019 02:58
IntroductionSpring35_2
package com.pig.spring.springaop.springaop.aspect;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.METHOD) //指執行的時機指定在Method執行使用
@Retention(RetentionPolicy.RUNTIME)//運行時啟用
public @interface TrackTime {
@JavaNoobPig
JavaNoobPig / IntroductionSpring35_3.java
Created March 15, 2019 02:27
IntroductionSpring35_3
package com.pig.spring.springaop.springaop.data;
import org.springframework.stereotype.Repository;
@Repository
public class Dao1 {
public String retriveSomething() {
return "Dao1";
}
@JavaNoobPig
JavaNoobPig / IntroductionSpring35_4.java
Created March 15, 2019 02:28
IntroductionSpring35_4
package com.pig.spring.springaop.springaop.data;
import org.springframework.stereotype.Repository;
import com.pig.spring.springaop.springaop.aspect.TrackTime;
@Repository
public class Dao1 {
@TrackTime
@JavaNoobPig
JavaNoobPig / IntroductionSpring35_5.java
Last active March 15, 2019 02:34
IntroductionSpring35_5
package com.pig.spring.springaop.springaop.aspect;
import org.aspectj.lang.annotation.Pointcut;
public class CommonJoinPointConfig {
//com.pig.spring.springaop.springaop.aspect.CommonJoinPointConfig.dataLayerExecution()
@Pointcut("execution(* com.pig.spring.springaop.springaop.data.*.*(..))")
public void dataLayerExecution() {}