#programowanie #spring
Mirki pisząc aplikację, którą chciałbym się pochwalić na rozmowie to użyć "zwykłego" Springa ze wszystkimi configami/xmlami itp czy może lepiej użyć Spring Boota ?
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jakieś fajne tutoriale albo artykuły dla początkujących ze Spring MVC?
Książki warte uwagi ?
- "Spring MVC. Przewodnik dla początkujących" czytał ktoś tę książkę?
Potrzebuje ogarnąć podstawową wiedzę żeby na juniora wystarczyło, chciałbym też napisać jakąś prostą aplikację webową, żeby można zaprezentować na rozmowie.

#naukaprogramowania #spring #java
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@bloodguy: dokumentacja jest w porzadku, jest tez sporo tutoriali. tylko nie daj sobie wmowic ze spring boot jest super. bo niby ulatwia przez pierwsza godzine a potem jak chcesz zaczac robic cos niestandardowego zostajesz z dwoma miejscami ktorych nie rozumiesz - springiem i spring bootem. i potem nie wiadomo co zmieniac - propertiesy boota czy beany springa...
  • Odpowiedz
@nuker92:

1) Prawdopodobnie potrzebujesz open session in view filter lub eager load. Hibernate domyślnie nie wczytuje wszystkich referencji/relacji więc możesz razem z komentarzem doczytywać od razu usera lub skorzystać z obejścia, które podtrzymuje sesję hibernate.

2) Do wczytywania konfiguracji najlepiej użyj tradycyjnego PropertyPlaceholderConfigurer. To, co próbujesz zrobić to ewidentny hack w XML + EL. Możesz wówczas używać składni ${propertyname} w
  • Odpowiedz
@nuker92: Potrzebujesz ustawić dla hibernate dialekt, żeby generowało poprawne zapytania dla PostgreSQL. Potrzebujesz property o nazwie 'hibernate.dialect', którego obecnie nie masz ustawionego w jpaProperties.

Trik z URI prawdopodobnie zadziała jeśli ustawisz system property. Możesz to spróbować zrobić przez -DpropertyName=value podczas uruchamiania tomcata.
  • Odpowiedz
Mirki z #programowanie #java #spring #mybatis

mam do napisania swego rodzaju watchdoga , który będzie raportowal czy jest polaczenie z baza danych i rozne takie, takie. I rodzi sie pytanie. Czy znacie moze jakis ciekawy sposob zeby obsłużyć polaczenie z bazą danych, że jak nie będzie tego polaczenia, to nie p--------e mi masą błędów z powodu braku połączenia ? ( ͡° ʖ̯
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Uczę się aktualnie Spring Data i w większości przypadków wykorzystuję interfejs CrudRepository bez dopisywania nowych deklaracji metod. W związku z tym mam wiele identycznych klas wyglądających tak:

public interface FooRespository extends CrudRepository {
}

Próbowałem wykorzystać od razu generyka do autowiązania ale niestety takie podejście nie działa. Czy jest możliwość aby uniknąć tworzenia ciągle tych samych klas?

@Autowired
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#spring #java #naukaprogramowania #hibernate

Witajcie Mireczki, piszę sobie moją pierwszą aplikacje z użyciem Spring + Hibername, a mianowicie Blog. Natrafiłem jednak na przeszkodę z którą nie wiem za bardzo jak sobie poradzić, otóż każdy post (Item) może mieć maksymalnie jeden komentarz (Comment). Pierwszy komentarz się dodaje, natomiast drugi zastępuje ten poprzedni (przy pierwszym jest Insert Into w konsoli, natomiast przy drugim jest już update). Podejrzewam,
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@nuker92:
Po 1
zainstaluj sobie plugin .gitignore i wrzuć tam folder .idea i plik IDE .iml
2. W przypadku usera, po co ci ID numeryczne, lepiej zrobić name jako ID.

3. Dlaczego nie oznaczasz encji anotacją @Table
  • Odpowiedz
Hej, mam aplikację webową w #java #spring, która przy uruchomieniu pobiera sobie część danych z DB przez JPA, oblicza na nich różne rzeczy i trzyma je razem z wynikami obliczeń w strukturach. Przy modyfikacji danych (zdarza się rzadko) nowe dane (i ich przeliczenia) lecą i do db, i do struktur.
Czy większy sens ma podział aplikacji na warstwy:
1. Jpa<-Dao<-Usługi<-Rest - Dao trzymają na stałe encje, które
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@lol_nope:
Serwisy bezstanowe są ogólnie o wiele łatwiejsze w implementacji. Generalnie przy pierwszym podejściu powinieneś wykonywać operację na obiektach JPA i od razu je zapisywać. W przypadku przechowywania wyników obliczeń albo na twoim miejscu stworzyłbym serwisy stanowe albo dodał jakieś cachowanie po stronie hibernate'a (2nd level cache), lub query cache ze springa (zwłaszcza jeśli modyfikacja danych zdarza się rzadko).
Jeśli chodzi o DDD to nigdy tego nie wykorzystywałem, więc średnio
  • Odpowiedz
  • 0
@Ambidex: dzieki, artykuly zaczalem czytac i jakistam pomysl jak to rozplanowac juz mam, ale nie znalazlem rozwiazania jeszcze jednego problemu niezaleznie od podejscia: jezeli zapisze sobie cos do db, potem zmodyfikuje obiekty domeny/obiekty zapisane w service, a potem bedzie rollback, to przeciez nie cofnie mi zmian w obiektach. Da sie to jakos rozwiazac? Zapisywac historie zmian i implementowac sobie jakos XAResource albo samemu pilnowac rollbackow i commitow i cofac? To
  • Odpowiedz
#java #spring #programowanie

Mirki, zdarza Wam się w Waszych aplikacjach ładować często pozyskiwane obiekty/kolekcje np. z bazy danych do pamięci podręcznej? Korzystacie wtedy z WeakReference? Czy wujek Spring/Hibernate udostępnia jakieś automatyczne mechanizmy do keszowania?
Możecie podać przykład takiego użycia?
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czy wujek Spring/Hibernate udostępnia jakieś automatyczne mechanizmy do keszowania?


@roszd23: Hibernate ma cache wbudowane, dodatkowo mozesz ustawic Second level cache np. terracota czy ehcache
  • Odpowiedz
@roszd23: Tak jak pisał @M4ks jeśli często idzie Ci odczyt przez JPA to masz second level cache. Korzystanie z WeakReference i SoftReference ma sens jeśli chcesz kontrolować co ma się dziać z obiektami kiedy następuje GC. Korzystanie z nich ma sens tylko jeśli masz ryzyko wczytania znacznej ilości danych, które mogą przekroczyć ewentualny limit procesu.
  • Odpowiedz
#programowanie #spring #java Mirki piszę aplikację m.in. z użyciem Spring JPA, i struktura mojego projektu wyglada tak, że mam tam sobie kontrolery, konfigurację i najważniejsze:
- Mam model, później mam repozytorium które rozszerza JpaRepository i później mam Service do którego sobie autowiruję repozytorium i z tego serwisu pobieram dane w kontrolerach. Czy to jakaś zła ( może dobra? ) praktyka ? Jeśli tak to co powiniem
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mediateh7: Ogólnie przyjęta praktyka, jest taka jak robisz - czyli wszystko warstwowo, nie mniej w tym układzie często warstwa "service" jest tylko proxy do repozytoriów/dao na której konfiguruje się transakcje i ewentualnym miejscem gdzie wali się obejścia baboli, bo z DAO z kolei jest drętwą przykrywką na hibernate lub coś w ten deseń.

Ja już jakiś czas temu zrezygnowałem z tego i transakcje waliłem na poziomie kontrolera ;P Jeśli zastanawiasz
  • Odpowiedz
Może i mnie zjedziecie, ale moim zdaniem nie programuje obiektowo ( ͡° ͜ʖ ͡°) service , managery, utilsy i inne gady zmuszają cię do programowania imperatywnego. Dlatego, że nie enkapsulujesz stanu tylko czynność jak już w takim podejściu. Ogólnie wrzuć w google "objects ending with er" po więcej info. O ile da Ci to ogólne podejście do wszelakiej maści workerów to z service'ami może to nie być już
  • Odpowiedz
#spring #programowanie #java Przy nauce springa natknąłem się na 2 sposoby "konfiguracji" aplikacji jeden poprzez tworzenie pliku "AppConfiguration itp." w którym są deklarowane beany a drugi to poprzez .xml application context, czy któraś z metod jest odradzana/przestarzała czy zależy to tylko ode mnie co wybiorę ?
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mediateh7: W springu widać wyraźnie trend eliminacji używania xmla do konfiguracji.
Z kilku przyczyn:
-Xml jest mniej czytelny
-Konfigurację w javie pisze się po prostu szybciej
-Łatwiej zauważyć błędy w konfiguracji javowej.
  • Odpowiedz
Siema mirki, mam pytanie, może mondre może gupie nie wiem.

Jakie są najlepsze praktyki w zakresie uploadowania i przechowywania pojedynczych dużych plików(1-15GB). Robił ktoś z was coś takiego?
Używaliście do tego DB czy jakiegoś innego dedykowanego narzędzia?

#spring
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Hej #programowanie, znacie jakies dobre ksiazki/kursy dotyczace projektowania aplikacji? Konkretnie chodzi mi o #java i aplikacje webowe w #spring, ale to chyba malo istotne.
Zazwyczaj jak cos pisze, to mam tylko ogolny zarys architektury, a reszta mi wychodzi po drodze i zmienia sie w trakcie, a chyba powinno byc odwrotnie...
Po prostu majac w glowie cala aplikacje nie umiem sobie z gory powydzielac wszystkich
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak masz sporo czasu to pisz TDD. Na poczatku ta metodyka jest malo wydajna jak nie potrafisz za bardzo pisac testow. Jak latwo Cisie bedzie pisac testy jednostkowe, to znaczy ze twoja architektura jest w porzadku.
  • Odpowiedz
@lol_nope: Zainteresuj się czymś co nazywa się DDD (domain driven design). Ostatnio mój kolega z pracy był na szkoleniu z tegoż i tam właśnie duży nacisk kładziony jest na to jak projekt ma być poukładany, żeby nie zrobiło się spaghetti :) Ja zapisałem się na drugą turę tego szkolenia więc dopiero wtedy będę mógł powiedzieć więcej ( ͡º ͜ʖ͡º)

@yelen: TDD (test driven
  • Odpowiedz
Mirki z racji promocji 2 za 1 - co lepiej wybrać do Springa?
Spring w akcji wyd. 4 czy Spring Framework (http://helion.pl/ksiazki/spring-framework-wprowadzenie-do-tworzenia-aplikacji-wydanie-ii-j-sharma-ashish-sarin,spfrwp.htm) - obie widziałem w Empiku i treściowo bogatsza zdecydowanie ta pierwsza, jednak opinie na Helionie trochę przerażają (ale mam nadzieję, że raczej tyczą się 3 wydania)
#spring #java
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki z #programowanie, mam nadzieję, że jeszcze nie śpicie ( ͡° ͜ʖ ͡°)
Z racji tego, że w mojej ankiecie zwyciężyła konfiguracja #spring przez adnotacje, to postanowiłem spróbować przesiąść się z xml-a i trafiłem na problem:
Mam 2 aplikacje, obie załączają MyCommons.jar.
W MyCommons.jar mam:
- WhateverBean implements
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@moriturius: Do jeszcze trochę ponarzekam :p
Przy takim podejściu potem ludzie narzekają na OOP, że są klasy w stylu AbstractFlushClearCacheMessageBuilderOnTransactionSupport, a w środku kilka linii kodu :p
No i jak wracasz do kodu po latach i chcesz zobaczyć co dana metoda robi, to musisz przebić się przez pierdyliard klas, zanim dojdziesz do tego, że w zasadzie to są 3 settery na krzyż :p
Ale generalnie masz rację, w wolnej chwili
  • Odpowiedz
Mireczki, zdawał ktoś certyfikat Spring Core? jakieś rady jak najlepiej się przygotować? jakieś szczególnie polecane materiały?
na razie uczę się z notatek ze szkolenia, i niektórymi rozdziałami Spring in Action
#java #spring
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #spring #angularjs

Zawsze robiłem aplikacje w Springu i do tego strony widoków w JSP (/src/main/webapp/views). Teraz zrobiłem w Springu kontrolery REST i chciałbym do tego widoki zrobić w AngularJS.
Jaka jest dobra praktyka, żeby się do tego zabrać?

1. Trzymać pliki *.html z kodem angularowym w katalogu z zasobami (/src/main/resources), do którego włączę obejście, żeby pliki były od razu serwowane:
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#spring #java #programowanie

Nie mogę zrozumieć konfiguracji Spring MVC. Niby mogę skopiować gotowca, ale zawsze mam z tym problem, że nie wiem w którym pliku co robić. Jak czytam w książkach/tutorialach, to w każdym jest inaczej i już się gubię ( ͡° ʖ̯ ͡°)

Od razu zaznaczam, że nie chcę korzystać ze Spring Boot (na którym opierają się tutoriale ze spring.io). Konfigurację chcę w XML, a
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #java #spring #webdev

Chcę napisać aplikację, która: będzie pobierać stronę internetową (z obrazkami, CSS itd), zapisywać ją do bazy, odczytywać, wyświetlać stronę w przeglądarce.

Oczywiście prosto w Javie nie mogę tego zrobić (za pomocą HttpURLConnection, setRequestMethod("GET"), InputStreamReader) bo mam sam kod HTML (bez obrazków itd). Musiałbym ręcznie ściągać wszystkie linki, potem podmieniać w kodzie linki do nich itd.

Podobno
  • 24
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

zapisywać ją do bazy, odczytywać, wyświetlać stronę w przeglądarce.


@mk321: Po co chcesz je trzymać w bazie ,aby wyświetlić potem w przeglądarce?
Nie lepiej trzymać je jako statyczne pliki na dysku a w bazie tylko identyfikatory które będziesz nadawał zapisując pliki?
  • Odpowiedz
@mk321: Czy jesteś świadomy, że NoSQL a Hibernate to są zupełnie inne bajki? NoSQL to "typ" bazy danych a Hibernate to framework realizujący dostęp do bazy danych?
  • Odpowiedz