2016-06-11 8 views
2

Spring 4 unterstützt die Bean-Konfiguration using Groovy. Sie können Ihre Beans mit beans Schließung definieren und es sieht sauberer als XML. Außerdem können Sie flexible Logik hinzufügen, da es sich um ein Groovy-Skript handelt.Unterstützt Intellij Idee groovy Beans Konfiguration?

Meine Frage ist:

Ist es möglich, IntelliJ IDEA verstehen solche Bohne Erklärungen zu machen? Das Problem ist, dass, wenn ich @Autowired verwenden, IDE sagt:

Could not autowire 

Weil es nicht Groovy Bohnen nicht versteht.

Und ist es übrigens ein guter Ansatz, Groovy-Konfiguration für Spring zu verwenden? Ich habe nicht bemerkt, dass Leute es oft in ihren Projekten verwenden, obwohl ich sie für praktischer hielt als XML.

Antwort

0

Ich verwende Groovy Bohnen mit IntelliJ. Es scheint perfekt zu funktionieren. Ich bin mir nicht sicher, was ich mit Idea konfigurationsmäßig gemacht habe, aber ich bekomme den Fehler, den Sie sehen, nicht.

Wir mischen Groovy/Java DSL mit einigen XML über unsere Projekte. Wir sind zu Groovy/Java DSL gewechselt, um von den XML-Konfigurationen wegzukommen. Wir haben mit allem XML angefangen und migrieren auf Groovy/Java DSL.

Das einzige Problem, das wir bei Groovy gesehen haben, ist, dass das Fehlen von Typisierung manchmal mühselige Tests von Schreibeinheiten erfordert.

IntelliJ IDEA 2016.01.03 Build # IU-145,1617, am 3. Juni gebaut 2016 JRE: 1.8.0_76-release-B198 x86_64 JVM: OpenJDK 64-Bit Server VM von JetBrains sro

+0

Können Sie Bitte laden Sie ein einfaches Projekt für mich mit .ipr und .idea Dateien hoch? – Derp

+0

Entschuldigung, wir verwenden nicht die Groovy Beans-Syntax, um Beans zu konfigurieren. Wir verwenden Groovy, aber mit der @Bean Annotation. \t @Bean (name = "watch-file") \t RouteBuilder watchFile (@Value ("$ {beobachtete}") final String-Verzeichnis) { \t \t Rückkehr neue RouteBuilder() { \t \t \t @Override \t \t \t public void configure() löst Ausnahme aus { \t \t \t \t logger.debug ("watching {}", Verzeichnis); \t \t \t \t from (String.format ("Datei:% s? Delete = true", Verzeichnis)). To ("activemq: queue: sync"); \t \t \t} \t \t}; '' ' – user54554