Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AspectJ and Spring AOP, Help 
:(
    Опции темы
bytes
Дата 23.7.2009, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 17.10.2006
Где: Baku

Репутация: нет
Всего: нет



AspectJ Don't working. Please help me. Where my mistakes?
Код

package springtestapp1;

import org.aspectj.lang.annotation.*;

@Aspect
public class Audence{
    public Audence(){}

    @Pointcut("execution(* *.performance())")
    public void performance(){
        System.out.println("---Main Method!---");
    }

    @Before("performance()")
    void before(){
        System.out.println("---Before Method---");
    }

    @After("performance()")
    void after(){
        System.out.println("---After Method---");
    }

    public static void main(String[] arg){
        Audence au = new Audence();
        au.performance();
    }
}


Spring AOP don't working too! :(
Код

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">

    <bean id="myBean" class="mypackage.MyClass" />

    <aop:aspectj-autoproxy/>
    <aop:config>
        <aop:aspect ref="myBean">
            <aop:before method="myBeforeMethod()" pointcut="execution(* mypackage.*.myMainMethod(..))"/>
        </aop:aspect>
    </aop:config>
</beans>

Код

package mypackage;

/**
 *
 * @author User
 */
public class MyClass{

     public void myMainMethod(){
         System.out.println("This is my mainly method.");
     }


     public void myBeforeMethod(){
         System.out.println("... and this is my before method.");
     }

    public static void main(String[] args){
        ApplicationContext ac = new FileSystemXmlApplicationContext("myBeans.xml");
        MyClass my = null;

        try{
            my = (MyClass)ac.getBean("myBean");

        }
        catch(Exception ex){
            System.out.println(ex.toString());
            System.exit();
        }

         my.myMainMethod();
    }

}

Requirement result:
Код

... and this is my before method.
This is my mainly method.

---------
Only AspectJ with *.aj files works on Netbeans.

Это сообщение отредактировал(а) bytes - 23.7.2009, 22:47
--------------------
?==! or !==?
PM MAIL ICQ MSN   Вверх
MisterCleric
Дата 24.7.2009, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 5
Всего: 38



I think you must declare your aspect class Audence as a bean in spring-config


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0636 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.