백엔드

· Spring
스프링 MVC를 실행하는데 필요한 최소 설정 - 스프링 MVC의 주요 설정 (HandlerMapping, ViewResolver 등) - 스프링의 DispatcherServlet 설정 스프링 MVC 설정 package config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config...
· Spring
JDBC 프로그래밍의 단점을 보완하는 스프링 JDBC API를 이용하면 DB 연동에 필요한 Connection을 구한 다음 쿼리를 실행하기 위한 PreparedStatement를 생성합니다. 그리고 쿼리를 실행한 뒤에는 finally 블록에서 ResultSet, PreparedStatement, Connection을 닫습니다. JDBC API를 이용한 DB 연동 코드 구조 Member member; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = DriverManager.getConnection("jdbc:mysql://localhost/spring5fs", "spring5", "spring5..
· Spring
이번에는 Spring에서 Advice 적용 순서에 대해 알아보겠습니다. 한 Pointcut에 여러 Advice를 적용할 수도 있습니다. CacheAspect package aspect; import java.util.HashMap; import java.util.Map; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; /** * 간단하게 캐시 기능을 구현한 클래스 */ @Aspect public class CacheAspect { privat..
· Spring
[Spring] Spring AOP 구현해보기 (@Aspect, @Pointcut, @Around) 이전 글 [Spring] Spring AOP AOP AOP : Aspect Oriented Programming의 약자로, 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법입니다. AOP는 핵심 기능과 공통 기능 muscleking3426.tistory.com 프록시 생성 방식 package config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context...
· Spring
트랜잭션의 처리 방식을 이해하려면 AOP(Aspect Oriented Programming)를 이해해야 합니다. 제일 어려운 부분이니 자세히 짚어보겠습니다. 이전 요약글 [Spring] AOP 프로그래밍이란 ? AOP(Aspect-Oriented Programming)는 소프트웨어 개발에서 모듈화와 코드 재사용을 향상하기 위한 프로그래밍 패러다임 중 하나입니다. AOP는 주로 코드의 횡단 관심사(Cross-Cutting Concerns)를 분리하여 모듈 muscleking3426.tistory.com 준비 먼저 AOP 프로젝트를 준비하기 위해 pom.xml의 Dependencies에 아래코드를 추가해 줍니다. org.aspectj aspectjweaver 1.8.13 스프링 프레임워크의 AOP 기능은 s..
· Spring
컨테이너 초기화와 종료 스프링 컨테이너는 초기화, 종료 라이프사이클을 갖고 있습니다. 컨테이너 초기화 AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(AppContext.class); 위 예제를 보면, AnnotationConfigApplicationContext 생성자를 이용해서 컨텍스트 객체를 생성하는데 이 시점에 스프링 컨테이너를 초기화합니다. 컨테이너에서 빈 객체 구하고 사용 Greeter g = ctx.getBean("greeter", Greeter.class); String msg = g.greet("스프링"); System.out.println(msg); 스프링 컨테이너는 설정 클래스에서 정보를 읽..
· Spring
AOP(Aspect-Oriented Programming)는 소프트웨어 개발에서 모듈화와 코드 재사용을 향상하기 위한 프로그래밍 패러다임 중 하나입니다. AOP는 주로 코드의 횡단 관심사(Cross-Cutting Concerns)를 분리하여 모듈화하는 데 중점을 둡니다. 횡단 관심사란 응용 프로그램의 여러 부분에서 발생하는 비즈니스 로직과는 관련이 적지만 여러 부분에서 공통적으로 나타나는 관심사를 의미합니다. AOP의 핵심 아이디어는 횡단 관심사를 각각의 핵심 모듈에서 분리된 모듈로 정의하고, 이러한 모듈을 필요한 위치에 삽입하여 코드의 재사용성과 유지보수성을 향상시키는 것입니다. 이를 위해 AOP는 주로 다음과 같은 개념의 구성요소를 사용합니다. 1. Ascept (관점) 관점은 횡단 관심사를 정의하는..
· JPA
양방향 매핑 Member 엔티티의 양방향 매핑은 단방향과 동일하다. @Entity public class Member{ @Id @GeneratedValue private Long id; @Column(name = "USERNAME") private String name; private int age; @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; //... } Team 엔티티는 컬렉션을 추가해야 한다. @Entity public class Team{ @Id @GeneratedValue private Long id; private String name; @OneToMany(mappedBy = "team") List members = new Arr..
runnnerDevHong
'백엔드' 태그의 글 목록