스프링 입문
[Spring] 입문6 (끝!)
AOP(Aspect Oriented Programming 관점 지향 프로그래밍) 이번에는 Spring 입문 강좌의 마지막 주제인 AOP이다. 만약 모든 기능에 대해 걸리는 시간을 출력해야 한다고 생각해보자. 그럼 모든 함수에 시작 시간 측정,,, 종료 시간 측정,, 빼서 계산,, 하는 로직을 일일히 넣어줘야한다. 만약 수정이 필요하면 다 일일히 수정해줘야한다. 이럴때 AOP를 사용하면 된다. 시간 측정과 같은 경우를 공통 관심 사항(cross cutting concern)이라고 하고 각 메서드 별로 주요 기능(ex 회원검색)을 핵심 관심 사항(core concern)이라고 할 수 있다. AOP를 적용하면 공통 관심 사항과 핵심 관심 사항을 분리해줄 수 있다. 이제 코드를 작성해보자. hello.hello..
[Spring] 입문5
스프링 DB 접근 기술 이전까지는 메모리에 데이터를 저장하는 방식으로 구현했다. 하지만 이렇게 하면 서버가 내려갈 경우 모든 데이터가 사라진다는 단점이 있다. 데이터베이스를 만들어서 서버가 내려가도 없어지지 않도록 구현해보자. 아래 소주제들중 일부를 보면 순수 JDBC -> 스프링 JdbcTemplate -> JPA -> 스프링 데이터 JPA 이렇게 발전했다고 볼 수 있다. 이전에 사용되었던 기술들은 알아두면 좋으니 간단하게 살펴보는 정도로만 확인해본다. H2 데이터베이스 설치 (Mac M1 기준) H2 데이터베이스는 간단하고 가벼운 RDBMS다. H2 데이터베이스가 뭔지 자세한 내용이 중요한게 아니니 설명은 생략한다. 1. DB 접근 기술을 알기전에 DB 먼저 있어야 하므로 가벼운 H2 데이터베이스를 ..
[Spring] 입문4
회원관리 예제 - 웹 MVC 개발 이번 부분은 타임리프라는 템플릿엔진으로 간단하게 화면들을 추가하는 부분이다. 어렵지 않아서 금방금방 습득할 수 있었다. 개발 완료 후 파일 구조 회원 웹 기능 - 홈 화면 추가 1. HomeController.java 추가 package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { // localhost:8080/ 로 들어오면 가장 기본적으로 호출될 부분 @GetMapping("/") public..