Сообщения

Entity Lifecycle

Изображение
  1. package com.appsdeveloperblog.ws.demo_transactional; import com.appsdeveloperblog.ws.demo_transactional.entity.Account; import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManagerFactory; import lombok. RequiredArgsConstructor ; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure. SpringBootApplication ; @SpringBootApplication @RequiredArgsConstructor public class DemoTransactionalApplication implements CommandLineRunner { private final EntityManagerFactory emf ; public static void main (String[] args) { SpringApplication. run (DemoTransactionalApplication. class , args); } @Override public void run (String... args) throws Exception { EntityManager em = emf .createEntityManager(); em.getTransaction().begin(); // Transient mode: because it does not exist in DB Account account = new Account(); // Ma

ACID, Isolation level, @Transactional

Изображение
 1. In general, Spring does not create proxy classes by default for stereotype-annotated classes (such as those annotated with @Component , @Service , @Repository , etc.). Spring only creates a proxy for a class when it needs to apply some kind of aspect-oriented programming (AOP) , typically for features like transaction management, security, or custom-defined interceptors. Here are the conditions under which Spring creates a proxy: AOP Requirements : When there is a specific aspect (e.g., @Transactional , @Cacheable , or @Async ), Spring uses a proxy to implement that aspect without modifying the class itself. Interfaces : If a class implements an interface and Spring needs to create a proxy (e.g., for @Transactional ), Spring will use JDK dynamic proxies by default, which only proxy interfaces. For classes without an interface, Spring uses CGLIB to create a subclass proxy. In the example you provided, B is annotated with @Component , but it doesn’t have any aspect requirements. So

Redis

docker-compose.yaml file for Redis: version: "3.3" services:   redis:     image: redis:6.0.7     container_name: redis     restart: always     volumes:       - redis_volume_data:/data     ports:       - 6379:6379   redis_insight:     image: redislabs/redisinsight:1.14.0     container_name: redis_insight     restart: always     ports:       - 8001:8001     volumes:       - redis_insight_volume_data:/db volumes:   redis_volume_data:   redis_insight_volume_data: ---Installing Redis CLI on mac: 1) brew install redis 2) redis-cli -h localhost -p 6379 3) ping 4) set name Parvin 5) get name 6) keys * : gives all keys that we set previously 7) flushall : delete all key value pairs 8)   

Spring Security Simple Course

Изображение
Tomcat nedir?  **Tomcat** və ya tam adı ilə **Apache Tomcat**, Java proqramları üçün geniş istifadə olunan açıq mənbəli bir veb server və servlet konteyneridir. Apache Software Foundation tərəfindən inkişaf etdirilib və əsasən Java dilində yazılmış veb tətbiqləri işə salmaq üçün istifadə olunur. ### **Tomcat nədir və nə üçün istifadə olunur?** - **Veb Server və Servlet Konteyneri**:   - Tomcat, əsasən bir **servlet konteyneri** kimi işləyir. Bu, onun Java Servlet-lərini işə salmağa və JavaServer Pages (JSP) texnologiyası ilə yazılmış veb səhifələri göstərməyə imkan verməsi deməkdir.    - **Veb Tətbiqlərinin İdarə Edilməsi**:   - Java ilə hazırlanmış veb tətbiqlərini Tomcat vasitəsilə asanlıqla yerləşdirə və idarə edə bilərsiniz. Yəni, Tomcat tətbiqlərinizi internet üzərindən istifadəçilərə çatdırmaq üçün bir platforma rolunu oynayır. - **Java EE Standartlarını Dəstəkləyir**:   - Tomcat, Java Enterprise Edition (Java EE) standartlarının bir hissəsi olan servlets, JSP və WebSocket kimi t