a dev's blog

Some thoughts about thoughts.

Performance Messungen mit Spring AOP

2016-08-01 Development Java Spring
Intro Tjaja… die Performance. Wie oft kommt eine Situation vor, dass man gerne wissen möchte welche Methodenausführung wie lange dauert. Es gibt da natürlich tolle Hilfsmittel wie XRebel von zeroturnaround, jedoch habe ich mich oft für einfachere Möglichkeiten interessiert. Eine - wie ich finde - sehr schicke und schlichte Art der Performance Messung lässt mit mittels AOP realisieren. Dabei sieht das Ziel genau so aus, dass wir eine beliebige Methode mit einer Annotation versehen können und daraufhin im Log Performance-Messungen zu dieser Methode lesen können. Weiterlesen

InvalidPathException mit Spring MockMvc und jsonPath

2016-03-17 Development Java Spring
Die Lösung des Problems Gerade über eine merkwürdigkeit gestolpert… In der aktuellen Spring-Boot Version 1.3.3-RELEASE bekommt man bei der Nutzung von MockMvc und jsonPath folgende Exception: java.lang.NoClassDefFoundError: com/jayway/jsonpath/InvalidPathException at org.springframework.test.web.servlet.result.JsonPathResultMatchers.<init>(JsonPathResultMatchers.java:52) at org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath(MockMvcResultMatchers.java:192) ... a lot of more lines Ich bin mir ziemlich sicher, dass das mal anders war. Wie auch immer…jayway.jsonpath fehlt uns im Classpath. Die pragmatische Lösung lautet also die Library selbst in die pom.xml aufzunehmen. In der nächsten Spring-Boot Version ist es bereits wieder im spring-boot-starter-test enthalten. Weiterlesen

Soft-Delete mit Spring-Data und Hibernate Annotations

2016-03-01 Development Java
Intro Wenn man eine Webapplikation betreibt die dem User in irgendeiner Weise Datenmanipulation erlaubt, kann es durchaus vorkommen, dass ebendieser User auf die Idee kommt einen Datensatz zu löschen. In der Regel, und ich denke es ist guter Stil, möchte man wohl nicht wirklich zulassen, dass der Datensatz gelöscht wird, sondern man möchte vielmehr die Daten nur als gelöscht markieren. Setzt man auf Spring-Data, so möchte man allerdings nicht die Attribute einer Entity verändern um sie als gelöscht zu markieren, sondern man möchte vielmehr einfach die Delete-Methode des jeweiligen Repositories aufrufen. Weiterlesen

Eine schöne Mapped-Superclass mit Spring-Data und JPA

2016-02-25 Development Java Spring
Intro Object-relational-mapping ist eine schöne Sache und gibt dem Entwickler richtige, echte Objekte an die Hand, wenn er die Datenbank abfragt. Meist ist es auch noch so, dass wir gerne noch irgendwelche Meta-Informationen an unseren Datensätzen haben. Ich persönlich möchte in jedem Fall wissen, welcher User etwas bei mir in der Datenbank aktualisiert oder erstellt hat - und vor allem möchte ich wissen, wann das passiert ist. JPA (die Java Persistence API) gibt uns da schon einiges an die Hand. Weiterlesen

Die Spring-Security-Taglib in Spring-Boot

2016-02-24 Development Java Spring
Intro Spring-Security ist schon ein sehr schönes Stück Software. Und nutzt man JSPs oder Thymeleaf zum Darstellen seines View-Layers, können Verrechtungen von Links oder ganzen Code-Blöcken sehr elegant und kurz gefasst werden. Setup Zunächst einmal habe ich ein kleines Beispielprojekt auf Github, was du nutzen kannst um dir einen besseren Überblick zu verschaffen oder um die ganze Sache mal auszuprobieren. Ich gehe davon aus, dass du ein Projekt mit Spring-Boot, Spring-Security und Thymeleaf starten willst. Weiterlesen

User-Impersonation mit Spring-Boot und Spring-Security

2016-02-21 Development Java Spring
Wenn man sich in andere rein versetzt… … dann kann das Einem unter Umständen das Leben erleichtern. Beispielweise wenn sich User X bei der eigenen Hotline meldet um einen Fehler in der Anwendung zu reporten. Vielleicht ist es aber auch gar kein Fehler, sondern ein User braucht Unterstützung bei irgendeinem Prozess, der von der Applikation abgedeckt wird. In beiden Fällen ist es meiner Erfahrung nach enorm hilfreich, wenn man selbst die Rolle des Users annehmen kann - und dies ohne zuvor sein Passwort zurücksetzen zu müssen, damit man sich selbst einen Login verschafft. Weiterlesen

PID Generation mit Spring-Boot

2016-02-19 Development Java Spring
Ich finde dich. Ich finde deine PID und dann bin ich dein Meister Die PID. Dieses nützliche kleine Ding. Man benötigt sie beispielsweise für Init-Skripte oder das Monitoring der Applikation. Aber wie finde ich die PID von einem Prozess? Klar… ganz einfach so: Nicht ernst meinen bitte, die bessere Lösung findet sich unten. ;) foo@bar:~ pgrep java 17889 30554 30555 Hmm…. Hilft nur bedingt gut. Versuchen wir es anders: Weiterlesen
Ältere Beiträge