Frühling @Configuration Klasse enthält @Bean Methoden, aber wie kann ich init bekommen execute () zuerst?

stimmen
0

Ich bin auf einem Frühlings-Projekt und habe Fertigkeitsstufe 1 mit Frühling. 2 Tage habe ich gelesen, und zu versuchen, Jasypt Verschlüsselung arbeitet mit einigen vorhandenen Code zu bekommen, aber der Wert, der übergeben wird, ist die ENC (....) Wert, der umgewandelt werden muss.

Das einzige Projekt , das ich zu sehen bin , ist ein selbst lief ein Projekt mit der main()Erwägung , dass die, die ich auf bin ein Dienst ist , die aufgerufen wird und nicht wie die andere laufen.

Ich war die letzten Beispiel mit Blick auf Frühling EnableEncryptableProperties mit Jasypt aber ich merkte , nach einer Weile , dass sie es ist Eigenschaften mit dem Methodenaufruf zieht: environment.getRequiredProperty ( „spring.datasource.username“)

Das Verfahren zieht aus den Systemvariablen, die ich sehe nicht, wie der besitz hinein. Keine der Eigenschaften, die in meiner Eigenschaft Datei sind in der Eigenschaft System-Ebene.

Was bin ich hier , wie Sie die Systemeigenschaften mit bekommen aktualisiert , was in der application.propertiesDatei?

Das andere Projekt ist die Aktualisierung der Systemeigenschaften und ruft dann SpringApplication.run(Application.class, args), was zu diesem anderen Projekt nicht anwendbar ist , da es nicht die gleiche Art von Anwendung.

Würde einige Hinweise lieben. Bitte keine intelligenten Bemerkungen als eine Klasse zu nehmen. Ich tue, was ich kann außerhalb der Arbeit, sondern ist in Schritt 4 und das Projekt ist in Schritt 321, es wird eine Weile dauern, bis ich dort ankomme.

Veröffentlicht am 27/11/2018 um 17:52
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Wenn Sie einen Code vor dem eigentlichen Frühling gewesen Schöpfung ausführen möchten, können Sie Ihre benutzerdefinierten verwenden implementieren BeanFactoryPostprocessor . Hier ist ein Beispiel mit EnvironmentPostProcessor , die für Ihre Situation mit verschlüsselten Eigenschaften nützlich sein können: Beispiel

Sie können implementieren postProcessEnvironment in einem nächsten Weg:

  • Holen Sie sich alle Requisiten aus einer Umgebung
  • Überprüfen Sie, ob eine Eigenschaft Wert ‚ENC ()‘
  • Entschlüsseln und setzen Sie den Wert zurück

Ich glaube, dass EncrytablePropertySource von jasypt-Starter auf diese Weise funktioniert.

PS Es ist besser , den Standard - Ansatz mit @EncrytablePropertySource zu verwenden , wenn es möglich ist , als ein Rad mit benutzerdefinierten EnvironmentPostProcessor neu zu erfinden.

Beantwortet am 27/11/2018 um 19:43
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more