Leichtgewichtige JEE Entwicklung mit dem Spring Framework
Posts 1-7 of 7
-
René Gröschke Premium MemberThe company name is only visible to registered members.Problem mit AnnotationBeanConfigurerAspect
Ich verwende Spring mit dem EclipseRCP Framework. Dadurch habe ich nicht immer Einfluß auf die Erstellung einiger Komponenten durch den new Operator.
Ich versuche durch die Verwendung des AnnotationBeanConfigurerAspect und der Configurable Annotation während der Erzeugung dieser Komponenten diese durch Spring zu konfigurieren.
Allerdings scheint bei der Erzeugung dieser Komponenten Spring nicht mehr einzugreifen.
meine beans.xml:
==============================================================================
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="
http://www.springframework.org/schema/beans"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="
http://www.springframework.org/schema/aop"
xmlns:tx="
http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0...
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd&q...
<bean id="newCommandWizard" class="...wizards.NewCommandWizard" scope="prototype">
<property name="commandDao" ref="serverFacade"/>
</bean>
<bean name="serverFacade" class="....ServerFacade">
<property name="service" ref="commandService" />
</bean>
<bean id="commandService" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
<property name="serviceUrl"
value="
http://localhost:9090/remote/CommandService" />
<property name="serviceInterface" value="....CommandService" />
</bean>
<bean class="org.springframework.beans.factory.aspectj.AnnotationBeanConfigurerAspect" factory-method="aspectOf"/>
</beans>
==============================================================================
jemand vielleicht ne idee?
gruß René Gröschke
This post was modified on 02 Aug 2007 at 10:26 pm.- 02 Aug 2007, 10:14 pm
-
Christian DupuisThe company name is only visible to registered members.Re: Problem mit AnnotationBeanConfigurerAspect
Hi,
um Spring's DI features auf nicht Spring-managed Objekte anzuwenden ist es wichtig, dass der AnnotationBeanConfigurerAspect entweder per compile- oder per load-time weaving in Ihre Klassen gewebt wird.
Dies ist unter Punkt 6.8 in der Spring Doku beschrieben (
http://static.springframework.org/spring/docs/2.0.x/referenc...).
Ihre Konfiguration sieht ansonsten ok aus.
HTH
Christian
This post was modified on 02 Aug 2007 at 10:54 pm.- 02 Aug 2007, 10:54 pm
-
René Gröschke Premium MemberThe company name is only visible to registered members.Re^2: Problem mit AnnotationBeanConfigurerAspect
um die Weaving Problematik zu umgehen verwende ich jetzt nur das tag <aop:spring-configured/> ohne den AnnotationBeanConfigurerAspect. trotzdem funzt es noch nicht. obwohl ich auch finde, das meine konfiguration i.O. ausschaut ;-/ ...
- 02 Aug 2007, 11:51 pm
-
Christian DupuisThe company name is only visible to registered members.Re^3: Problem mit AnnotationBeanConfigurerAspect
Hallo,
der <aop:spring-configured /> Tag ist nur ein Shortcut für Ihre AnnotationBeanConfigurerAspect Bean Definition. Im Hintergrund macht Spring genau das selbe wie Sie mit der manuellen Definition des Aspects.
Sie benötigen compile- bzw. load-time weaving. Ansonsten kann es nicht funktionieren.
Gruß
Christian
- 03 Aug 2007, 12:09 am
-
René Gröschke Premium MemberThe company name is only visible to registered members.Re^4: Problem mit AnnotationBeanConfigurerAspect
habe es mit load time weaving zum laufen gebracht. das problem das ich dabei noch sehe ist folgendes:
ich entwickle ein Eclipse Plugin, für ein Eclipse - product. Nun möchte ich ja eigentlich nicht das weaving im aufruf des products, sondern erst beim initialisieren meines plugins. gibt es da eine alternative zum jvm argument "-javaagent" ?
- 03 Aug 2007, 10:21 pm
-

Eberhard Wolff Group moderatorThe company name is only visible to registered members.Re^5: Problem mit AnnotationBeanConfigurerAspect
René Gröschke schrieb:
ich entwickle ein Eclipse Plugin, für ein Eclipse - product. Nun möchte ich ja eigentlich nicht das weaving im aufruf des products, sondern erst beim initialisieren meines plugins. gibt es da eine alternative zum jvm argument "-javaagent" ?
Hallo,
dazu muss man, wie Christian schon sagte, Compile-Time-Weaving verwenden. Dazu muss man statt dem Java-Compiler den AspectJ-Compiler verwenden. Spring enthält die spring-aspects.jar als Aspekt Library, die man beim Compilieren angeben muss. Details zu dem Kommandozeilen-Compiler und Ant gibt es hier:
http://www.eclipse.org/aspectj/doc/released/devguide/index.h... und zum Maven Plug In hier:
http://mojo.codehaus.org/aspectj-maven-plugin/libraryJars.ht... .
Was dann entsteht ist ganz normaler Byte-Code, der nicht von Java-Compiler-Output unterscheidbar ist.
HTH,
Eberhard
- 04 Aug 2007, 11:36 am
-
René Gröschke Premium MemberThe company name is only visible to registered members.Re^6: Problem mit AnnotationBeanConfigurerAspect
dann wirds wohl doch auf compile time weaving hinauslaufen. Bei meinem eigenen Code ist das auch nicht weiter tragisch. den Nachteil sehe ich darin, dass ich durch compile time weaving nicht bibliotheken dritter mit aspekten versehen kann.
gruß rené
- 05 Aug 2007, 5:21 pm
