2010-07-30 7 views
13

Ich habe diesen Begriff gesehen, als darüber, wie Frühling arbeitet lesen und ich habe gerade den Artikel über JPA-Implementierung Leistung gelesen und es hat die folgenden Statistiken:Was ist "Weben"?

EclipseLink               3215 ms 
(Run-time weaver - Spring ReflectiveLoadTimeWeaver weaver ) 
EclipseLink (Build-time weaving)          3571 ms 
EclipseLink (No weaving)            3996 ms

So könnte jemand erklären, in einfachem Englisch, was ist weben?

Danke!

Antwort

8

Von here:

Im Frühjahr AOP es möglich macht, wie Dienste modularisieren und getrennte Protokollierung, Transaktion und sie auf die Komponenten deklarativ Daher können Programmierer auf spezifische Anliegen konzentrieren. Aspekte werden in der Spring-XML-Datei wie JavaBean in Objekte eingebunden. Dieser Prozess wird als "Weben" bezeichnet.

0

Objektorientierte Softwaresysteme, die mit aspektorientierte Programmiertechniken entwickelt werden von Klassen und Aspekte bestehen. Klassen implementieren die primäre Funktionalität einer Anwendung, zum Beispiel, Aktien verwalten oder Versicherungstarife berechnen. Aspekte dagegen erfassen technische Aspekte wie Persistenz, Fehlerbehandlung, Kommunikation oder Prozesssynchronisierung.

Es gibt zwei Möglichkeiten, wie Klassen und Aspekte gewebt werden können: statisch oder dynamisch.

Static Weben bedeutet durch Einfügen von aspekt spezische Aussagen bei beitreten points.In andere Wörter, den Quellcode einer Klasse zu ändern: aspect-Code wird in Klassen inlined. Das Ergebnis ist ein hoch optimierter Webcode, dessen Ausführung Geschwindigkeit ist vergleichbar mit der Code geschrieben ohne Aspekte zu verwenden.

5

Weaving generiert oder bearbeitet Code, indem er vorhandene .class (byte-code) Dateien direkt modifiziert. Dies kann an verschiedenen Punkten im Anwendungslebenszyklus auftreten.

  1. Außerhalb der JVM bei der Kompilierung bei Verpackungs Zeit
  2. Innerhalb eines JVM bei Klasse Ladezeit. nachdem eine Klasse geladen wurde.

Spring Framework verwendet dies für AOP-Funktionalität. Eclipselink verwendet Weben zum Lazy Loading oder Change Tracking.

0

Weben ist der Prozess der Verknüpfung von Aspekt mit anderen Anwendungstypen oder Objekten, um ein empfohlenes Objekt zu erstellen. Das Weben kann zur Kompilierzeit, Ladezeit oder Laufzeit erfolgen. Spring AOP führt das Weben zur Laufzeit durch.

Verwandte Themen