Java 14

[Spring]AOP

Spring AOP(Aspect Oriented Programming)는 크로스 커팅 관심사를 분리하여 모듈성을 높이는 프로그래밍 패러다임입니다. 이는 코드를 수정하지 않고 기존 코드에 추가적인 동작을 추가함으로써 이루어집니다. 이는 특히 로깅, 트랜잭션 관리, 보안 등과 같은 기능에서 유용합니다. 크로스 커팅 관심사(Crosscutting Concerns) 분리 여러 클래스나 메소드에 걸쳐 반복적으로 나타나는 코드를 별도의 모듈로 분리하자는 개념을 의미합니다. 예를 들어, 로깅, 보안, 트랜잭션 관리 등의 기능은 여러 클래스와 메소드에서 공통적으로 필요로 하는 기능입니다. 이런 기능들을 각각의 클래스나 메소드에서 구현하게 되면, 코드의 중복이 발생하고 유지보수가 어려워집니다. 이런 문제를 해결하기 위해..

Java/Spring 2024.03.28

[Spring]JdbcTemplate

JdbcTemplate JdbcTemplate은 Spring Framework의 일부로, JDBC 작업을 단순화하고 일반적인 오류를 방지하는 데 도움이 되는 중앙 클래스 JDBC API를 사용하지만 JDBC API의 많은 문제를 제거하는 강력한 메커니즘이며, 트랜잭션 관리 및 리소스 관리 등을 자동으로 해주어 JDBC를 매우 편리하게 사용할 수 있게 도와줌 하지만 동적 쿼리문을 해결하기 어렵다. 사용예시 DB는 h2 사용 application.properties spring.datasource.url = jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa Sp..

Java/Spring 2024.03.28

[Spring] 스프링 빈 등록하는 방법

컴포넌트 스캔 @Component 이있으면 스프링 컨테이너에 자동 등록 @Controller, @Service, @Repository 는 @Component가 포함되어 있어 스프링 컨테이너에 자동으로 등록됨. @Autowired 를 사용하여 스프링과 연관된 객체를 컨테이너에서 찾아서 주입해줌(Dependency Injection : 의존성 주입). 자바 코드로 등록 @Configuration public class SpringConfig { @Bean public TestService testService() { return new TestService(testRepository()); } @Bean public TestRepository testRepository() { return new TestRe..

Java/Spring 2024.03.27