Oglądając nagrania z konferencji/JUGów spotkałem się z podejściem odchodzenia od tworzenia interfejsów dla komponentów springowych (np. IUserService + UserServiceImpl zamienione na UserService, bez interfejsu - w szczególności taka klasa jest publiczną fasadą do obsługi danej domeny). Co sądzicie o takim podejściu? Jakie stosujecie w swoich projektach i dlaczego?

Wiem, że utworzenie interfejsu pozwala na tworzenie wielu jego implementacji, ale pytanie brzmi jak często interfejs ma więcej niż jedną implementację (tym bardziej, że
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#java #spring
Co może być przyczynątego, że TaskExecutor korzysta na początku ze wszystkich wątków a po jakimś czasie tylko z jednego mimo że ma jeszcze ma wiele zadań w kolejce do wykonania.

for(Foo foo:foos){
futures.add(executor.submit(new Callable(){
method(foo);
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, mam do Was pytanie odnośnie szukania pracy w Javie, a szczególnie na temat sumiennego przygotowania do sesji rozmów kwalifikacyjnych - warto uczyć się odpowiadać na typowe pytania rekrutacyjne? Głównie chodzi mi o te w wersji angielskiej, gdyż z tym miałbym największy problem. (uczyłem się praktycznego podejścia do programowania, dlatego teoria dotycząca szczególnie frameworków sprawia mi problemy)

Dodatkowo korzystając z okazji, chciałbym zapytać się was czy w mojej sytuacji lepiej szukać stażu,
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@jdbc: ślij wszędzie człowieku, najwyżej nie przejdziesz rozmowy albo powiedzą nie dzięki i już XD
ja szukałem też niby stażu, ale słałem i na juniora, regulara, seniora, z dopiskiem, że w razie jakby kiedyś szukali kogoś z mniejszmy doświadczeniem or sth, i wiesz co? właśnie przez takie coś się udało - wysłałem aplikację na regular frontenda a odezwali się do mnie z ofertą junior pythona bo miałem w cv i
  • Odpowiedz
#spring #java

Mirki, pobieram sobie listę plików w moim spring bootowym projekcie - za pomocą PathMatchingResourcePatternResolver:

PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver
Resource [] resources = resolver.getResources("classpath*:sciezka/*"
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#java #spring

Mirki, jak najlepiej stworzyć test , który będzie mi sprawdzał poprawność plików migracji bazy danych (chodzi tylko o sprawdzanie nazwy). Potrzebuje wczytać w teście nazwy wszystkich plików , które mam w module aplikacji (resources/db.migration)
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Hej Mireczki mam prostą aplikację ze springiem na backendzie i angularem na froncie.

Mam problem tokenami a konkretnie gdy wysyłam posta z angulara do backendu dostaję odpowiedź o statusie 200 ok ale na konsoli dane wyświetlają mi się jako null. Nie mogę nic z tego odczytać. Jeżeli wysyłam posta z restlet clienta na chrome to w odpowiedzi ciało jest puste ale w nagłówku mam stworzony przez serwer token.

Kod wrzuciłem tutaj.
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Fiver: Testowałeś czy poprawnie skonfigurowałeś JWT? spróbuj przez curla(nie wygodnie)/postmana testowac sam backend czy działa jeśli tak to potem sprawdź front

PS. Znalazłem dość dobry tutek z konfiguracja JWT na spring boot (według mnie tak powinny wyglądać wszystkie tutoriale jasno oraz przejrzyście człowiek napisał) Link
  • Odpowiedz
#programowanie #spring #java Mirki, dlaczego w Springu najlepszym wyjściem jeżeli chodzi o wstrzykiwanie zależności jest metoda z konstruktorem? I czy np. dobrze jest takie pole oznaczać jako final i z jakiego powodu?
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

metoda z konstruktorem?


@D3xxT3r: A jak inaczej chcesz to robić?

Setterem? Używanie setterów powoduje, że istnieje możliwość utworzenia obiektu, który będzie miał niepoprawny stan przez brakującą zależność (pomiędzy utworzeniem obiektu, a użyciem settera). To się w OOP nigdy nie powinno zdarzać. Albo trzeba obsługiwać, że zależność może nie być przekazana w każdym miejscu, gdzie jest używana. To jest często
  • Odpowiedz
Trochę utknąłem.. analizuje sobie implementacje JWT w Spring security i mam trzy różne wersje implementacji tego. Która według was jest najlepsza i dlaczego?
Linki do całego kodu są dostępne w pastebinie.

Pierwsza
https://pastebin.com/9RZwwruL
Druga
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Roballo: Troche zalezy do przypadku. JWT to jedyna metoda autentykacji? Generalnie powinien wystarczyc jeden filtr (czyli nr. 2). Autoryzacja nie bardzo ma cokolwiek wsponego z JWT, wiec nie bardzo lapie ten pierwszy kod. Normalnie podczas autentykacji mapujesz token na usera i role i cala autoryzacje zalatwia Spring.

Jesli natomiast JWT ma tylko zastapic sesje i masz inne metody autentykacji (np. login/password), to najczysciej jest to zrobic przez RememberMeServices. Przez to
  • Odpowiedz
@Roballo: Taki filtr tez jest jak najbardziej ok i to raczej standardowy sposob implementacji JWT w Springu. Jesli nie musisz tego specjalnie integrowac z innym mechanizmami autentykacji, to zostaw tak jak jest. Jesli uzywasz Spring Boot, to pamietaj, ze dodaje on automatycznie beany implementujace Filter do lancucha (https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-disable-registration-of-a-servlet-or-filter). Ale jesli twoj filtr nie jest beanem (a wyglada na to, ze nie), to nie ma z tym problemu.
  • Odpowiedz
#java #programowanie #spring

Mireczki, dłubię właśnie podstawową apkę w Javie, przy użyciu Mavena i Springa. Czy da się jakoś na szybko zaimplementować bootstrap do views w jsp? Czy muszę dodawać bootstrap i jquery do poma?
Bo gdy dodam na sztywno do widoków standardowy template bootstrapa to niestety nie działa, wygląda jakbym nic nie zmienił.
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#spring #junit #testy

Mirki, mam dziwny problem.
Mam test integracyjny w mojej apce w springu. Test zawiera kilkanaście testów - gdzie postuje pod mój endpoint jsona z danymi. W większości testów jest to ten sam json - a po stronie aplikacji na pewno wszystko działa.

Jeden z testów jest @Transactional. Przed każdym testem czyszczę potrzebne repozytoria:
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

klepie sobie jakis restowy serwis w springu i chcialbym teraz podpiac angulara pod front i mam pytanie jak powinna wygladac struktura projektu tzn. w osobnych katalogach tj.
-apka
---front
---back
czy moze wrzucic angulara w katalogu ze springiem?

#programowanie #java #spring #web #beginner
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#java #spring #refactoring

Mirki, mam repository rozszerzające CrudRepository.
Zrobiłem 2 custom metody, każda z nich wyciąga mi część danych, którą później merguje i przekazuje do serwisu.
Żadna z nich jako pojedyncza metoda nie jest i nie będzie mi potrzebna.

Chciałbym
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 2
@mariusz-laszczka Stawianie bazy embedded typu h2 z dialektem docelowej bazy do której się łączysz. Albo jezli używasz jakiegoś specjalnego dialektu którego nie obsługuje h2, to stawianie obrazu w dockerze i robienie create/drop dla każdej klasy testowej. W pierwszym przypadku w junitach będziesz musiał odpalac nowego datasourca w metodzie before, chyba że skorzystasz ze spocka który automatycznie przelatuje to pole za każdym test casem (Spock jest świetny!).
  • Odpowiedz
#spring #java

Mirki, czy piszac @Service w Spring boocie muszę zagwarantować by moja klasa była thread safe?
Przykładowo: Czy mogę sobie zrobić Hashmapę, która nie jest ustawiona podczas inicjalizacji.
Zapełnić ją danymi podczas wykonywania pierwszej metody i korzystać z tych danych w kolejnych metodach?
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mariusz-laszczka: musi byc thread safe. Ewentualnie możesz użyć concurrent hash mapy. Możesz tez zmienić scope beana. Wszystko zależy od tego co chcesz osiągnąć mając ta mapę jako pole klasy.
  • Odpowiedz
#spring #java #hibernate

Mirki, mam taka metode:

@Query("select new com.myProject.UserConfDTO(cd.id, us.lastDeactivationTime, true) from UserConfig us " +
"join us.codes as cd where cd in :codes and us.userEnabled = 1 and us.state= 'ACTIVE'")
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach