목록스터디/스프링 입문 (7)
꼬물꼬물

AOP가 필요한 상황 - 모든 메소드의 호출 시간을 측정하고 싶다면? - 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) - 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? 시간측정 - 공통 관심 사항 비즈니스 로직 - 핵심 관심 사항 공통과 핵심 관심사항이 함께 있어 유지보수가 어렵다. 시간을 변경할 때, 모든 로직을 찾아가 변경하기 어렵다. AOP 적용 AOP(Aspect Oriented Programming) - 공통 관심 사항과 핵심 관심 사항의 분리 aop/TimeTrace.class @Aspect @Component public class TimeTraceAop { @Around("execution(* hello.hellospring..

H2 데이터베이스 설치 Table 생성 drop table if exists member CASCADE; create table member ( -- LONG으로 선언, generated by default as identity는 값을 세팅하지 않고 insert 시 DB가 자동으로 값을 채워준다.-- id bigint generated by default as identity, name varchar(255), primary key (id) ); 순수 JDBC build.gradle 추가 dependencies { implementation 'org.springframework.boot:spring-boot-starter-jdbc' // java와 db를 연동하려면 jdbc가 꼭 있어야 한다. runti..
홈화면 추가 페이지는 우선순위가 있다. welcome page가 나오지 않는 이유는 먼저 controller에게 해당 주소를 문의하고 없다면 static 파일을 찾는다. 이미 GetMapping("/")을 연결해두어 home.html이 나온다. 등록/ 조회 controller/HomeController.class @Controller public class HomeController { private MemberService memberService; @Autowired public HomeController(MemberService memberService) { this.memberService = memberService; } @GetMapping("/") // 8080으로 들어가자마자 나오는 페이지..