전체 글400 [스터디] 정적 팩토리 메서드(Static Factory Method) 정적 팩토리 메서드란? 정적(Static), 팩토리(Factory), 메서드(Method) 이 중 팩토리는 GoF 디자인 패턴 중 팩토리 패턴에서 유래한 것으로 객체를 생성하는 역할을 분리하겠다는 의미가 담겨있다. 다시 말해, 정적 팩토리 메서드란 객체 생성의 역할을 하는 클래스 메서드라는 의미로 요약할 수 있다. java.time 패키지 내의 LocalTime 클래스의 정적 팩토리 메서드를 같이 살펴보자. // LocalTime.class ... public static LocalTime of(int hour, int minute) { ChronoField.HOUR_OF_DAY.checkValidValue((long)hour); if (minute == 0) { return HOURS[hour]; } .. 2023. 12. 8. [스터디] 의존관계 주입(DI : Dependency Injection) 최근 김영한님의 Spring 핵심 원리 - 기본편 강의를 듣고 있는데 DI라는 단어가 자주 나왔다. 도대체 DI가 정확히 뭘까? 이번 기회에 한 번 알아보겠다. 의존관계란? "A가 B를 의존한다."라는 표현은 어떤 의미일까? 의존대상B가 변하면, 그것이 A에 영향을 미친다. - 이일민, 토비의 스프링 3.1, 에이콘(2012), p.113 즉, B의 기능이 추가 또는 변경되거나 형식이 바뀌면 그 영향이 A에 미친다는 뜻이다. 예시를 한 번 살펴보자. "햄버거 가게 요리사는 햄버거 레시피에 의존한다." 햄버거 레시피가 변경된다면, 변경된 레시피에 따라서 요리사는 햄버거를 만드는 방법을 수정해야 한다. 레시피의 변화가 요리사에게 영향을 미쳤기 때문에 "요리사는 레시피에 의존한다."고 말할 수 있다. clas.. 2023. 12. 8. [Spring] 1. 객체 지향 설계와 스프링 스프링 핵심 원리 - 기본편 강의를 듣다가 객체 지향에 대한 이야기가 나와서 좀 더 자세히 알아보았다. 객체 지향 프로그래밍 객체 지향 프로그래밍 이전의 프로그래밍 패러다임 : 컴퓨터가 중심! 컴퓨터가 사고하는대로 프로그래밍을 하는 것 객체지향 프로그래밍 : 인간 중심적 프로그래밍 패러다임 즉, 현실 세계를 프로그래밍으로 옮겨와 프로그래밍하는 것 현실 세계의 사물들을 객체로 보고, 개발하고자 하는 애플리케이션에 객체로부터 필요한 특징들을 뽑아와 프로그래밍 하는 것 = 추상화 객체 지향 프로그래밍의 장점 코드 재사용이 용이함 타인이 만든 클래스를 가져와서 이용할 수 있고, 상속을 통해 확장해서 사용할 수 있음 자주 사용되는 로직을 라이브러리로 만들어두면 계속해서 사용할 수 있으며 그 신뢰성을 확보 할 수 .. 2023. 12. 5. [Spring] 7. AOP 1. AOP가 필요한 상황 모든 메서드의 호출 시간을 측정하고 싶다면? 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? 아래 그림처럼 각각 만들어서 넣어줘야 할까? MemberService 회원 조회 시간 측정 추가 package hello.hellospring.service; @Transactional public class MemberService { /** * 회원가입 */ public Long join(Member member) { long start = System.currentTimeMillis(); try { validateDuplicateMember(member); //중복 회원 검.. 2023. 12. 3. [Spring] 6. 스프링 DB 접근 기술 만약 이 강의를 따라하다 문제가 생겼다면 H2 웹을 다시 켜보기를 바랍니다... (제가 겪은 오류의 대부분은 H2 웹이 꺼져있어서 그랬던 거라...) 또 javax → jakatra 로 수정해주면 문제가 해결되는 경우들이 있었습니다. import를 제대로 했는지 확인하는 것도 방법일 것 같네요. 1. H2 데이터베이스 설치 H2 DB : 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공 1.4.200 버전을 설치할 것 https://www.h2database.com 윈도우 사용자 기준 실행 : h2.bat DB 파일 생성 방법 최초 : jdbc:h2:~/test 파일 생성 확인 : ~/test.mv.db 이후 접속 : jdbc:h2:tcp://localhost/~/test 테이블 생성하기 테이블.. 2023. 11. 30. [Spring] 5. 회원 관리 예제 - 웹 MVC 개발 1. 회원 웹 기능 - 홈 화면 추가 홈 컨트롤러 추가 package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } 회원 관리용 홈 Hello Spring 회원 기능 회원 가입 회원 목록 참고 : 컨트롤러가 정적 파일보다 우선순위가 높다. 2. 회원 웹 기능 - 등록 회원 등록 폼 컨트롤러 @Controller public cl.. 2023. 11. 27. 이전 1 ··· 44 45 46 47 48 49 50 ··· 67 다음