wtorek, 12 sierpnia 2014

Spring-boot - logowanie

Ustalenie poziomu logowania w springu przy użyciu spring-boot jest realizowane poprzez:

logging.level.org.springframework.web: DEBUG logging.level.org.hibernate: ERROR

w pliku src/main/resources/application.properties

@RequestMapping - przedrostkowo

@RequestMapping przedrostkowo działa, gdy jest dodany do klasy. @Controller ma parametr określający nazwę bean-a, a nie przedrostek url-a.

Problem z uruchomieniem aplikacji

Przed momentem stoczyłem walkę z uruchomieniem projektu opartego o spring-boot. Teoretycznie prosta sprawa. Zaimportowałem dane do intellij i niestety cały czas otrzymywałem komunikat o brakującej klasie (z pakietu org.springframework.core.env.*). Sprawdzenie zależności, mvn-a, itp. nie pomagało. Ciężko było się do czegoś przyczepić.

W pewnym momencie sprawdziłem co zwraca mvn. Okazało się, że build zakończył się pozytywnie (sic!). Po kilku próbach znaleziona została przyczyna: do intellij zaimportował się jeden z podkatalogów projektu. Jego usunięcie (z projektu) zakończyło kwestię problemu.

niedziela, 3 sierpnia 2014

Liczba nullable - nie działa

Jeśli nie działa pole z @Column(nullable = true) to warto zastanowić się, czy typem jest Integer, a nie przypadkiem int.

piątek, 25 lipca 2014

@Transactional - kiedy działa?

  • metoda z @Transactional musi być publiczna
  • wywołanie metody z @Transactional musi pochodzić 'z zewnątrz' (być zrealizowane na proxy springowym)

W przypadku aspectj te tematy nie mają zastosowania.

piątek, 11 lipca 2014

@Async - dlaczego nie działa?

... bo nie może być wywoływany ręcznie.

Zlecenie jego wykonania musi pochodzić ze springa. Zadziała idealnie np. w kontrolerze.

Widać, że nie do końca: http://spring.io/blog/2010/01/05/task-scheduling-simplifications-in-spring-3-0/. Czyli wystarczy, że obiekt z metodą z @async jest wstrzyknięty.

środa, 2 lipca 2014

Spring, Tomcat, logowanie

Podczas próby logowania może się pojawiać przyjemny komunikat:

log4j:WARN Please initialize the log4j system properly

Próby przenoszenia pliku log4j.properties w różne miejsca nie dają efektu. Potencjalna przyczyna problemu? Błąd w pliku log4j.properties. Przykładowy, poprawny plik:

log4j.rootLogger=debug, stdout, R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # Pattern to output the caller's file name and line number. #Spring Framework log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n log4j.logger.org.springframework=INFO log4j.logger.org.springframework.oxm=INFO log4j.logger.org.springframework.transaction=WARN

lokalizacja: src/main/resources/log4j.properties

piątek, 27 czerwca 2014

Tiles - problem z uruchomieniem tagów (404 taglib)

Podczas próby użycia kodu:

<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>

url http://tiles.apache.org/tags-tiles okazuje się zwracać 404. Rozwiązanie? Dodanie jar-a do projektu.

poniedziałek, 23 czerwca 2014

Problem z uruchomieniem projektu SpringMVC w intellij

Sprawdź, czy nazwa projektu przypadkiem nie jest ostatnim członem bazowej nazwy pakietu. U mnie to było przyczyną problemów z uruchomieniem aplikacji.