Frage

Ich suche eine commons BeanUtils Alternative. Der Grund dafür ist, dass Beanutils beruht auf commons-logging, die mit vorhandenen Bibliotheken in Konflikt ich verwende.

Ich möchte eine kleine in sich geschlossene Alternative, die keine / minimale Konflikte verursachen wird.

Die Hauptfunktionalität ich bin nach ist verschachtelte Eigenschaft abgerufen werden kann.

Vielen Dank im Voraus, Steven

War es hilfreich?

Lösung 4

Ended up meine eigene Mini Beanutils schreibe diese Abhängigkeit zu umgehen und entfernt commons-Beanutils vollständig.

Die SLF4J hat am Ende nicht helfen, da es einige andere Abhängigkeiten brach (verdammen Sie WebLogic!).

Meine eigene Implementierung ist wahrscheinlich langsamer, da die commons-Beanutils erscheint einige Fetches zu zwischenzuspeichern einige reflektierende Anrufe zu entfernen.

Msg mich, wenn Ihr Interesse an den Quellcode meiner Implementierung bekommen.

Andere Tipps

Während Eigentum Handhabung nicht der Schwerpunkt des Jackson ist, kann es für die verwendet wird, wie pro this Artikel .

Die Grundidee ist, dass Sie nicht nur lesen / schreiben JSON zu / von POJOs, sondern auch kompatibel Umwandlungen tun: auch einen POJO als Java-Map „Serialisierung“. Da Sie und her zwischen den Darstellungen zurückgehen können Sie im Grunde eine Bohne Introspector kostenlos.

Jackson hat keine externen Abhängigkeiten, aber Sie müssen beide Kern (Streaming api, impls) und Mapper Gläser (Datenbindung).

Jodd hat eine sehr gute Sammlung von Bibliotheken finden Sie, wenn Jodd BeanUtil hilft.

Unter Umständen können Sie den Konflikt mit commons-logging lösen, indem das alternative commons-logging mit Brücke Implementierung bereitgestellt von SFL4j .

  

Oft commons-logging.jar mit JCL-over-slf4j.jar wird sofort und dauerhaft Class Loader Probleme lösen im Zusammenhang mit commons Protokollierung zu ersetzen.

Wenn Sie Maven verwenden, können Sie die commons-logging Abhängigkeit wie folgt ausschließen:

<dependency>
    <groupId>commons-beanutils</groupId>
    <artifactId>commons-beanutils</artifactId>
    <version>1.8.3</version>
    <exclusions>
        <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>

Ich habe das gleiche mit Spring, durchgeführt, die auch commons-logging erfordert. In der Tat Frühling sich hat mich gelehrt, wie man es ausschließen . Soweit ich sagen kann, ich habe jetzt eine commons-logging-freie Umgebung.

Aktualisieren : für so etwas wie SLF4J / Logback, können Sie auch diese müssen in Ihrer Konfigurationsdatei:

<logger name="org.apache.commons" level="OFF" />
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top