乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      工作后好多師弟師妹問我spring aop,我就寫了這樣一個例子

       小傅哥 2021-12-13

      前言介紹:

      ??????? 畢業(yè)開始工作后,逐漸的學(xué)習(xí)了一些再學(xué)校不曾學(xué)習(xí)到的東西。時而師弟師妹會問一些關(guān)于技術(shù)的問題,我也是耐心解答,同時更希望用娛樂方式的例子教會他們。

      環(huán)境需求:

      ?????? myeclipse8.5

      ?????? jdk1.6

      ?????? spring3.2

      工程截圖:

      ??????

      代碼部分:

      公務(wù)員.java

      package 紫禁城.內(nèi)務(wù)府.登記處;
      
      public enum 公務(wù)員 {
      
      男,
      女,
      太監(jiān);
      
      }
      

      敬事監(jiān)管.java

      package 紫禁城.內(nèi)務(wù)府.監(jiān)管處;
      
      import java.lang.reflect.Method;
      import java.text.SimpleDateFormat;
      import java.util.Date;
      import java.util.Formatter;
      
      import org.aspectj.lang.ProceedingJoinPoint;
      import org.aspectj.lang.annotation.After;
      import org.aspectj.lang.annotation.Around;
      import org.aspectj.lang.annotation.Aspect;
      import org.aspectj.lang.annotation.Before;
      import org.aspectj.lang.annotation.Pointcut;
      import org.springframework.stereotype.Component;
      
      import 紫禁城.內(nèi)務(wù)府.敬事房.臏.太監(jiān)臏;
      
      @Aspect
      @Component
      public class 敬事監(jiān)管 {
      
      @Pointcut("execution(public * 紫禁城.內(nèi)務(wù)府.敬事房.利器庫..*.軍刺切(..))")
      public void 監(jiān)管員(){
      
      }
      
      @Before("監(jiān)管員()")
      public void 敬事前(){
      System.out.println("敬事前:---------準(zhǔn)備下刀... ...");
      }
      
      @After("監(jiān)管員()")
      public void 敬事后(){
      System.out.println("敬事后:---------切除完成... ...");
      }
      
      @SuppressWarnings("deprecation")
      @Around("監(jiān)管員()")
      public Object aroundMethod(ProceedingJoinPoint pjp) throws Throwable {
              
      System.out.println("待切身份:"+pjp.getArgs()[0]);
      System.out.println("執(zhí)行工具:"+pjp.getSignature().getName());
      
      //獲得傳遞對象,并做處理
      太監(jiān)臏 太監(jiān) = (太監(jiān)臏) pjp.getArgs()[0];
      SimpleDateFormat timeFormat = new SimpleDateFormat("yyyy-MM-dd");
      太監(jiān).set敬事日期(timeFormat.format(new Date()));
      
      //此處可以傳遞更改后的參數(shù)
      Object obj = pjp.proceed(new Object[]{太監(jiān)});
      
      return obj;
      
      }
      
      
      /** 
           * 根據(jù)類和方法名得到方法 
           */  
          public Method getMethodByClassAndName(Class c , String methodName){  
              Method[] methods = c.getDeclaredMethods();  
              for (Method method : methods) {  
                  if(method.getName().equals(methodName)){  
                      return method ;  
                  }  
              }  
              return null;  
          }  
      }
      

      太監(jiān)臏.java

      package 紫禁城.內(nèi)務(wù)府.敬事房.臏;
      
      public class 太監(jiān)臏 {
      
      private String 姓名;
      private String 年齡;
      private String 性別;
      private String 敬事日期 = "";
      
      public String get姓名() {
      return 姓名;
      }
      
      public void set姓名(String 姓名) {
      this.姓名 = 姓名;
      }
      
      public String get年齡() {
      return 年齡;
      }
      
      public void set年齡(String 年齡) {
      this.年齡 = 年齡;
      }
      
      public String get性別() {
      return 性別;
      }
      
      public void set性別(String 性別) {
      this.性別 = 性別;
      }
      
      public String get敬事日期() {
      return 敬事日期;
      }
      
      public void set敬事日期(String 敬事日期) {
      this.敬事日期 = 敬事日期;
      }
      
      @Override
      public String toString() {
      return "太監(jiān)臏 [姓名=" + 姓名 + ", 年齡=" + 年齡 + ", 性別=" + 性別 + ", 敬事日期=" + 敬事日期
      + "]";
      }
      
      }
      


      切除器具

      package 紫禁城.內(nèi)務(wù)府.敬事房.利器庫;
      
      import org.springframework.stereotype.Component;
      
      import 紫禁城.內(nèi)務(wù)府.敬事房.臏.太監(jiān)臏;
      import 紫禁城.內(nèi)務(wù)府.登記處.公務(wù)員;
      
      /**
       * 
       * @author fuzhengwei
       * 
       * 相當(dāng)于dao層,刀層
       */
      @Component("切除")
      public class 切除器具 {
      
      /**
       * 軍刺切
       * 把一個好好的小伙變成太監(jiān)
       */
      public 太監(jiān)臏 軍刺切(太監(jiān)臏 太監(jiān)){
      
      太監(jiān).set性別(公務(wù)員.太監(jiān).name());
      System.out.println("。。。啊 ... ...老子被切了!");
      return 太監(jiān);
      }
      
      
      }
      

      太監(jiān)刑.java

      package 紫禁城.內(nèi)務(wù)府.敬事房.刑房處;
      
      import javax.annotation.Resource;
      
      import org.springframework.stereotype.Component;
      
      import 紫禁城.內(nèi)務(wù)府.敬事房.利器庫.切除器具;
      import 紫禁城.內(nèi)務(wù)府.敬事房.臏.太監(jiān)臏;
      
      /**
       * 
       * @author fuzhengwei
       * 
       * 專為閹割太監(jiān)所設(shè)立
       */
      @Component("太監(jiān)刑")
      public class 太監(jiān)刑 {
      
      private 切除器具 切除;
      
      
      public 切除器具 get切除() {
      return 切除;
      }
      
      @Resource(name="切除") 
      public void set切除(切除器具 切除) {
      this.切除 = 切除;
      }
      
      public 太監(jiān)臏 執(zhí)行切除(太監(jiān)臏 太監(jiān)){
      return 切除.軍刺切(太監(jiān));
      }
      
      }
      


      張三豐掌刀.java

      package 紫禁城.內(nèi)務(wù)府.敬事房.掌刀;
      
      import org.springframework.context.ApplicationContext;
      import org.springframework.context.support.ClassPathXmlApplicationContext;
      
      import 紫禁城.內(nèi)務(wù)府.敬事房.刑房處.太監(jiān)刑;
      import 紫禁城.內(nèi)務(wù)府.敬事房.臏.太監(jiān)臏;
      import 紫禁城.內(nèi)務(wù)府.登記處.公務(wù)員;
      
      /**
       * 
       * @author fuzhengwei
       *
       * 掌刀人負(fù)責(zé)切
       * 
       */
      public class 張三豐掌刀 {
      
      public static void main(String[] args) {
      
      ApplicationContext ctx = new ClassPathXmlApplicationContext("皇太極.xml");
      
      太監(jiān)刑 太監(jiān)行刑 = ctx.getBean("太監(jiān)刑",太監(jiān)刑.class);
      
      太監(jiān)臏 太監(jiān) = new 太監(jiān)臏();
      太監(jiān).set姓名("小德張");
      太監(jiān).set年齡("9");
      太監(jiān).set性別(公務(wù)員.男.name());
      
      太監(jiān) = 太監(jiān)行刑.執(zhí)行切除(太監(jiān));
      
      System.out.println("\r\n切除狀態(tài):"+太監(jiān));
      }
      
      }
      


      皇太極.xml

      <?xml version="1.0" encoding="UTF-8"?>
      <beans 
          xmlns="http://www./schema/beans"
      xmlns:xsi="http://www./2001/XMLSchema-instance" 
      xmlns:context="http://www./schema/context"
      xmlns:aop="http://www./schema/aop"
      xsi:schemaLocation="
      http://www./schema/beans
      http://www./schema/beans/spring-beans-3.0.xsd
      http://www./schema/context
      http://www./schema/context/spring-context-3.0.xsd
      http://www./schema/aop 
      http://www./schema/aop/spring-aop-3.0.xsd
      ">
      
      <context:annotation-config/>
      <!-- 自動掃描(自動注入) -->
      <context:component-scan base-package="紫禁城.內(nèi)務(wù)府" />
      
      <aop:aspectj-autoproxy/>
      </beans>


      測試運(yùn)行:

      源碼下載:

      https://github.com/fuzhengwei/javaee_test_springaop

        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多