Notes about Java 🌴
197 subscribers
41 photos
1 video
3 files
76 links
vk.com/notes_about_java
Научим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с нуля!
1. Π’ΠΈΠ΄Π΅ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π² ΠΊΠΎΠ΄Π΅
2. ΠšΡ€Π°Ρ‚ΠΊΠΈΠ΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
3. ΠžΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΡƒΡ€ΠΎΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π½ΠΎΠΌ
4. ΠŸΠΎΠ½ΡΡ‚Π½Ρ‹Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ
5. МоТно ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ занятий
@max_urusoff
Download Telegram
#Component #Repository #Service #Spring
ΠšΠ°ΠΊΡƒΡŽ Spring Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π΄ классом, @Component ΠΈΠ»ΠΈ @Repository? А ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ @Service?

Π‘Ρ‚Π°Ρ‚ΡŒΡ для понимания Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ Π½Π° Ρ‚Π΅ΠΌΡƒ:
https://coderlessons.com/articles/java/raznitsa-mezhdu-component-service-controller-i-repository-v-spring

Π’ контСкстС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΈΠ· ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π° аннотация @Repository ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Spring Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ это класс пСрсистСнтного слоя.
А для Π±ΠΎΠ»Π΅Π΅ ясной Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния - слуТит основой для хранСния ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².
#spring #enabletransactionmanagement #transaction

Π‘ вСрсии 3.1 Spring Π²Π²Π΅Π» Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ @EnableTransactionManagement, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ с Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ @Configuration Π½Π°Π΄ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ классами ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ бСсшовной Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ @Transactional.

И Ρ‡Π΅ Π·Π° аннотация @Transactional ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Π΅ΡΡˆΠΎΠ²Π½Ρ‹Π΅??
ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ ΠΊΠ°ΠΊ @Transactional - это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΡ‚ΠΊΠ°Ρ‚ всСх записСй, Ссли любая ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ вставки Π² этом ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Spring бросит ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

Π’ΠΠ–ΠΠž: Ссли Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ с Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ @Transactional Π±ΡƒΠ΄ΡƒΡ‚ дСйствия с Π‘Π” Π² Π²ΠΈΠ΄Π΅ Ρ†ΠΈΠΊΠ»Π° ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ошибка хотя Π±Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΌ - Ρ‚ΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ элСмСнт ΠΈΠ· списка Π½Π΅ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ записи Π² Π²ΠΈΠ΄Π΅ Ρ†ΠΈΠΊΠ»Π°:
@Transactional
public void book(String... persons) {
for (String person : persons) {
log.info("Booking " + person + " in a seat...");
jdbcTemplate.update("insert into BOOKINGS(FIRST_NAME) values (?)", person);
}
};

https://spring-projects.ru/guides/managing-transactions/
πŸ‘3