třída jarní @Configuration obsahuje @Bean metody, ale jak mohu získat nejprve spustit init ()?

hlasů
0

Jsem na jarním projektu a má dovednostní úroveň 1 s pružinou. 2 dny jsem četl a snažil se dostat Jasypt šifrování pracuje s nějakým existujícím kódem, ale hodnota, která je předána je hodnota ENC (....), které musí být transformována.

Ten projekt, že jsem se dívat na je samo běžel projekt s použitím main()k tomu, že jeden jsem na je služba, která se nazývá a neběží jako ta druhá.

Byl jsem naposledy díval přes tomto příkladu Spring EnableEncryptableProperties s Jasypt ale všiml jsem si po chvíli, že to táhne je to vlastností s volání metody: environment.getRequiredProperty ( „spring.datasource.username“)

Tato metoda se táhne od systémové proměnné, které já nechápu, jak majetných se do ní dostat. Žádná z vlastností, které jsou v mém spisu majetku jsou přítomny v úrovni služby System.

Co jsem zde chybí, jak se dostat na vlastnosti systému aktualizované s tím, co je v application.propertiessouboru?

Druhý projekt je aktualizace systému vlastnosti a pak volá SpringApplication.run(Application.class, args), který se nevztahuje na tento jiný projekt, protože není stejný typ aplikace.

Rád bych nějakou radu. Prosím, žádné chytré poznámky jak vzít třídu. Dělám, co můžu, mimo práci, ale je v kroku 4 a projekt je v kroku 321, že to bude chvíli trvat, než se tam dostanu.

Položena 27/11/2018 v 17:52
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

Chcete-li spustit nějaký kód, než skutečné jaro byl stvoření, můžete použít implementovat vlastní BeanFactoryPostprocessor . Zde je příklad s EnvironmentPostProcessor , což může být užitečné pro danou situaci s šifrované vlastnosti: Příklad

Můžete implementovat postProcessEnvironment v příštím způsobem:

  • Získejte všechny rekvizity z prostředí
  • Zkontrolujte, zda je hodnota majetku má ‚ENC ()‘
  • Dešifrování a nastavte její hodnotu zpět

Domnívám se, že EncrytablePropertySource z jasypt-startér funguje tímto způsobem.

PS Je lepší použít výchozí přístup s @EncrytablePropertySource Pokud je to možné, než objevování kolo s vlastní EnvironmentPostProcessor.

Odpovězeno 27/11/2018 v 19:43
zdroj uživatelem

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