Aktywne Wpisy

w__w +142
Dzisiaj mija mi 10 lat po slubie.
Zona spi, bo dzieciak chodzi ostatnio pozno spac. Na stole juz bukiet, drobny upominek i 2 strony A4 odrecznie napisanego listu podsumowujace w skrocie te 10 lat.
Przez ten czas dorobilismy sie 3 dzieci, mieszkania, ja skonczylem studia i jakos to idzie.
#chwalesie #malzenstwo #rodzina
Zona spi, bo dzieciak chodzi ostatnio pozno spac. Na stole juz bukiet, drobny upominek i 2 strony A4 odrecznie napisanego listu podsumowujace w skrocie te 10 lat.
Przez ten czas dorobilismy sie 3 dzieci, mieszkania, ja skonczylem studia i jakos to idzie.
#chwalesie #malzenstwo #rodzina

ArnoldBacon +107
Treść przeznaczona dla osób powyżej 18 roku życia...





Spring jednak utrudnia pisanie poprawnego kodu obiektowego. Człowiek chce napisać normalną klasę, która posiada dane i bazujące na nich zachowania, ale nie da się w prosty sposób.
Jeśli chcemy dodać dane instancji, to najłatwiej to zrobić przez new, ale wtedy obiekt nie będzie zarządzany przez Springa i nie da się wstrzyknąć do niego zależności.
Jedyne rozwiązanie, jakie widzę, to wstrzyknąć pustego beana ze scope "prototype", a później przez setery poustawiać mu wszystkie dane, ale to bardzo zaśmieca kod i uniemożliwia tworzenie niemutowalnych klas, których jestem zwolennikiem.
@dog_meat: nie mam pojęcia w czym widzisz problem
@PrzegrywWykopek: no właśnie w tym, co napisałem wyżej. Zgodnie z OOP klasa powinna mieć indywidualne dane i przypisane do nich zachowania. A tu
https://www.baeldung.com/spring-5-functional-beans
Nie wygląda to bardzo elegancko, ale powinno załatwić sprawę.
(klasa kontekstu kontenera oczywiście powinna być zmieniona)
https://www.youtube.com/watch?v=ILBX9fa9aJo
polecam się zapoznać
@witajswiecie: Nie do końca o to mi chodzi. Ja chciałbym tworzyć wiele instancji klasy, którea posiada indywidualne dane, wewnątrz której mogę wstrzyknąć zależnośc zarządzaną przez Springa.
Wrzuciłem prosty przykład na https://pastebin.com/pLMmEexa (to tylko kod wymyślony na potrzeby przykładu). <-- zawołam jeszcze
@Component
class KlasaPodKontroląSpringa{
@Ewentualnie: wiem, że są obejścia i mogę uzyskać kontekst, i pobrać beana. Ale chodziło mi o to, że Spring raczej zniechęca do pisania zgodnego z
to że łączysz dane i zależności jest winą przyjętej architektury a nie springa, scalowe implicit wcale nie rozwiązuje problemu w tej kwestii, nadal łączysz dane i logikę, tyle że to łączenie dokonuje się na poziomie kompilacji a nie przez kontener DI
@witajswiecie: przecież łączenie logiki i danych jest główną podstawą programowania obiektowego (przeciwieństwem jest programowanie strukturalne, które udaje obiektowe, które rozdziela logikę i dane, opakowując to w klasy)
private @Autowired AutowireCapableBeanFactory beanFactory;i później gdzieś w metodzie:
po prostu osobiście nie widzę powodu dla którego przekazywanie niejawne parametrów rodem ze scali miałoby jakąś przewagę poza tym że ładniej wygląda, tylko dlatego że czegoś nie widzisz bezpośrednio w kodzie, mimo że nadal tam jest podczas kompilacji