<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.bzz.ch/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.bzz.ch/feed.php">
        <title>BZZ - Modulwiki - de:modul:ffit:3-jahr:java:learningunits:lu08</title>
        <description></description>
        <link>https://wiki.bzz.ch/</link>
        <image rdf:resource="https://wiki.bzz.ch/_media/wiki/logo.png" />
       <dc:date>2026-05-20T09:03:56+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu08/a?rev=1761611603&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu08/b?rev=1761611707&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu08/c?rev=1761619940&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu08/d?rev=1761648772&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu08/start?rev=1762736083&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.bzz.ch/_media/wiki/logo.png">
        <title>BZZ - Modulwiki</title>
        <link>https://wiki.bzz.ch/</link>
        <url>https://wiki.bzz.ch/_media/wiki/logo.png</url>
    </image>
    <item rdf:about="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu08/a?rev=1761611603&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-28T00:33:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LU08a - Vereinfachungen</title>
        <link>https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu08/a?rev=1761611603&amp;do=diff</link>
        <description>LU08a - Vereinfachungen

Nachfolgend werden einige Bibliotheken gezeigt, um das Schreiben von Code zu vereinfachen.

Project Lombok

Project Lombok hilft Boilerplate-Code in Datenklassen auf ein Minimum zu reduzieren.
 Klassisch  Lombok  

public class Person {

    private Long id;
    private String firstName;
    private String lastName;
    private int age;

    // Standard-Konstruktor
    public Person() {
    }

    // Konstruktor mit allen Feldern
    public Person(Long id, String firstNa…</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu08/b?rev=1761611707&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-28T00:35:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LU08b - Persistierung</title>
        <link>https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu08/b?rev=1761611707&amp;do=diff</link>
        <description>LU08b - Persistierung

Spring Boots nutzt ebenfalls Hibernate, liefert aber einige mächtige Funktionen. 

JpaRepository

JpaRepository erleichtert es sehr, Objekte in oder aus der Datenbank zu laden.
 Klassisch  JpaRepository  

import jakarta.persistence.*;
import java.util.List;

public class PersonPersistor {

    private EntityManagerFactory emf;

    public PersonPersistor() {
        this.emf = Persistence.createEntityManagerFactory(&quot;localPU&quot;);
    }

    public List&lt;Person&gt; findByLastName…</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu08/c?rev=1761619940&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-28T02:52:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LU08c - Schnittstellendokumentation</title>
        <link>https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu08/c?rev=1761619940&amp;do=diff</link>
        <description>LU08c - Schnittstellendokumentation

Da in grösseren Entwicklungsteams oft unterschiedliche Leute an Front- und Backend arbeiten, ist eine entsprechende Dokumentation der Schnittstellen (z. B. REST APIs) unabdingbar.
Dadurch wird sichergestellt, dass die Schnittstellen seitens Backend korrekt implementiert und seitens Frontend korrekt verwendet werden.</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu08/d?rev=1761648772&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-28T10:52:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LU08d - Security</title>
        <link>https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu08/d?rev=1761648772&amp;do=diff</link>
        <description>LU08d - Security

Spring Boot enthält praktischerweise auch einfachere Arten, um mit Passwörtern umzugehen.

BCryptPasswordEncoder

Beim Aufruf der Methode encode wird jedes Mal ein neuer zufälliger Salt generiert und verwendet. Dieser Salt wird zusammen mit dem eigentlichen Hash ausgegeben im Format:
$2a$</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu08/start?rev=1762736083&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-10T00:54:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LU08 - Club Accounting App 2 (Spring Boot anwenden)</title>
        <link>https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu08/start?rev=1762736083&amp;do=diff</link>
        <description>LU08 - Club Accounting App 2 (Spring Boot anwenden)


	* LU08a - Vereinfachungen
	* LU08b - Persistierung
	* LU08c - Schnittstellendokumentation
	* LU08d - Security



Aufgaben


	* LU08.A01 Datenobjekte implementieren
	* LU08.A02 Datenbank-Mapping ergänzen
	* LU08.A03 JPA Repositories erstellen
	* LU08.A04 Code generieren
	* LU08.A05 Register/Login implementieren



Lösungen


Keine Seiten in diesem Namensraum.</description>
    </item>
</rdf:RDF>
