목록김영한 스프링 (11)
sugenius
새로운 할인 정책 개발 애자일 소프트웨어 개발 선언 애자일 소프트웨어 개발 선언 (agilemanifesto.org) 애자일 소프트웨어 개발 선언 애자일 소프트웨어 개발 선언 우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고 있다. 이 작업을 통해 우리는 다음을 가치 있게 agilemanifesto.org 새로운 할인 정책 적용과 문제점 관심사의 분리 AppConfig 리팩터링 새로운 구조와 할인 정책 적용 전체 흐름 정리 좋은 객체 지향 설계의 5가지 원칙의 적용 Ioc, DI, 그리고 컨테이너 스프링으로 전환하기
프로젝트 생성 사전 준비 Java 11 설치 IntelliJ or Eclipse 설치 프로젝트 생성 https://start.spring.io/ ** 강의에서는 java 11, Spring Boot 2.x 버전을 요구하지만, 현재 Spring initializr 에는 지원하지 않는다... 인프런 Q&A 답변에 따라, Spring Boot 3.x 버전과 JDK 17 이상을 사용하도록 한다. 비즈니스 요구사항과 설계 회원 도메인 설계 회원 도메인 개발 회원 도메인 실행과 테스트 public static void main 단축키 : psvm 엔터 println 단축키 : soutv 엔터 선택 주문과 할인 도메인 설계 주문과 할인 도메인 개발 주문과 할인 도메인 실행과 테스트
보호되어 있는 글입니다.
AOP가 필요한 상황 -모든 메소드의 호출 시간을 측정하고 싶다면? - 공통 관심 사항(cross-utting concern) vs 핵심 관심 사항(core concern) - 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? 수동으로 할 경우 아래와 같이 매번 메소드 앞 뒤에 작성해야 한다. 문제 - 회원가입, 회원 조회에 시간을 측정하는 기능은 핵심 관심 사항이 아님. - 시간을 측정하는 로직은 공통 관심 사항 - 시간을 측정하는 로직과 핵심 비즈니스의 로직이 섞여서 유지보수가 어려움 - 시간을 측정하는 로직을 별도의 공통 로직으로 만들이 매우 어려움 - 시간을 측정하는 로직을 변경할 때 모든 로직을 찾아가며 변경해야 함 AOP 적용 AOP; Aspect Oriented Programming 공통..
H2 데이터베이스 설치 https://www.h2database.com/ H2 Database Engine (redirect) H2 Database Engine Welcome to H2, the free SQL database. The main feature of H2 are: It is free to use for everybody, source code is included Written in Java, but also available as native executable JDBC and (partial) ODBC API Embedded and client/server mo www.h2database.com 실행 : h2.bat JDBC URL : 파일 경로 jdbc:h2:~/test 으로 경로 변..
회원 웹 기능 - 홈 화면 추가 참고 : 컨트롤러가 정적 파일 보다 우선순위가 높다. >> HomeController 에서 return "home" 하면 컨트롤러의 명령을 통해 home 매칭 되는 home.html 을 파일이 존재함을 확인하고 home.html 파일이 화면에 노출되며 로딩하고 index.html 기본 페이지는 우선순위에 밀린다. 회원 웹 기능 - 등록 태그 ( ) 태그 (
스프링 빈을 등록하는 2가지 방법 1. 컴포넌트 스캔과 자동 의존관계 설정 2. 자바 코드로 직접 스프링 빈 등록하기 컴포넌트 스캔과 자동 의존관계 설정 @Component 어노테이션이 있으면 스프링 빈으로 자동 등록된다. @Component 를 포함하는 어느테이션도 스프링 빈으로 자동 등록 된다. @Controller, @Service, @Repository @Aurowired를 사용하면 객체 생성 시점에 스프링 컨테이너에서 해당 스프링 빈을 찾아서 주입한다. 생성자가 1개만 있으면 @Autowired는 생략 할 수 있다. 자바 코드로 직접 스프링 빈 등록하기 기존 소스에서 MemberService 에서 @Service 와 @Autowired 를 제거하고 MemoryMemberRepository 에서 ..