Lekce 10
Repository použité při lekci
Postup stažení: nejprve si repository forkni z mého repository do svého (tlačítko Fork vpravo nahoře). Následně naklonuješ repository do svého počítače. Pokud máš v prohlížeči nainstalovaný doplněk JetBrains Toolbox, stačí na GitHubu kliknout na tlačítko Clone in IntelliJ IDEA a pokračovat dle pokynů.

Pokud doplněk nemáš, na úvodní obrazovce IntelliJ IDEA zvol tlačítko Get from VCS, následně v nabídce vlevo zvol GitHub a v přehledu projektů vyber projekt, který chceš klonovat.
Vazby mezi tabulkami – 1:1, 1:?, M:N

Tahák
- anotace
@OneToOne,@OneToMany,@ManyToOne,@ManyToMany - anotace
@JoinColumn - anotace
@Column - anotace
@OrderBy,@Where - anotace
@Transactional
Spring
- anotace
@Autowired,@Service,@Controller,@Repository - anotace
@Entity,@Id,@GeneratedValue(strategy = GenerationType.IDENTITY) - rozhraní
CrudRepository<Entity, ID>aJpaRepository<Entity, ID> - rozhraní
PageaPageable @SpringBootApplication– označení výchozí třídy Spring Boot aplikace. Spring Boot následně prohledává package, ve kterém je umístěna tato třída, a všechny package pod ním (na libovolné úrovni zanoření) a zpracuje všechny třídy označené některou z anotací, které Spring zná – např.@Controller,@Service,@Repositoryapod.@GetMapping,@PostMappinga další,@RequestMapping– anotace označující celý kontroler nebo metodu a určující, jaké požadavky bude zpracovávat (např. cesta, metoda, typ dat požadavku nebo odpovědi)- parametry součástí cesty:
GetMapping("/clanek/{id}"),@PathVariable int id ModelAndView– přepravka, která obsahuje název view a data modelureturn "redirect:/cil";- anotace
@ModelAttribute,@Valid - anotace
@NotNull,@NotEmpty,@NotBlank,@Min,@Max,@Email, … - anotace
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE) - třída
BindingResult
Odkazy
- Java SE 17 Javadoc – dokumentace všech tříd, které jsou součástí základní Javy ve verzi 17.
- Dokumentace Spring Boot – odsud je anotace
@SpringBootApplicationa třídaSpringApplication. - Dokumentace Spring Framework – odsud jsou anotace
@Controller,@GetRequesta třídaModelAndView. - Dokumentace Spring Data JPA
- Hibernate ORM – nejpoužívanější implementace JPA
- Dokumentace Freemarker – šablonovací systém pro HTML použitý v projektu.
- Dokumentace HTML formulářů
- Dokumentace Hibernate Validator
- Databáze H2
- SLF4J – API pro logování
- Logback – implementace logování
Úkol
Zadání úkolu: Úkol 7