백엔드/Spring
-
@Transaction를 적용하면 어떻게 하나의 Connection을 사용할까?백엔드/Spring 2023. 4. 14. 00:11
자동차 경주 웹 미션을 하는데 페어가 JdbcTemplate update를 여러 번 호출하면 @Transaction 을 적용해도 Connection이 여러번 열리고 닫히는지 궁금해했다. 그래서 JdbcTemplate update 내부 코드를 보니까 update를 할 때마다 Connection이 한 번 열리고 닫히는 것 같아보였다. 그래서 집에 돌아와 @Transaction을 적용하면 어떻게 달라지는지 내부 코드를 보고 정리를 해보았다. 먼저 JdbcTemplate의 update 코드를 확인해보자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 @Override public int update(final PreparedStatementC..
-
[Spring] 스프링 기본백엔드/Spring 2023. 4. 11. 09:00
1. DI (Dependency Injection) 객체 간의 의존성을 외부에서 주입하는 방식 - 장점: 낮은 결합도를 가지고, 더 쉽게 테스트할 수 있음 - 낮은 결합도를 가지면 장점: 개방 폐쇄 원칙의 장점을 가짐 (코드 재사용, 확장에 용이해짐) 2. Spring Bean 스프링에서 관리하는 객체로 IoC 컨테이너에 의해 생성되고, 관리되어짐 Bean을 등록하는 방법은 @Configuration과 @Bean을 사용하거나, @Component를 사용할 수 있음 3. IoC 컨테이너 IoC 컨테이너는 객체의 생명주기를 관리하는 곳임 이건 프로그래밍에서 쓰이는 컨테이너와 뜻이 같지만, 스프링에서 IoC가 추가된 이유는 개발자가 직접 객체의 생명주기를 관리하지 않고, 프레임워크가 대신 수행하기 때문임 Io..