전체 글 131

스프링 핵심 원리 기본 - 회원 도메인 개발

생성자 생성 getter , setter 생성 (private filed값을 세팅하기 위함) 회원저장 회원 아이디로 회원 찾는 기능 인터페이스와 구현체를 다른 패키지에 두면 설계 상 좋음 DB확정 안된 상태에서 MemoryMemberRepository만 만들어놓은 상태 개발 진행은 할 수 있음 HaspMap 동시성 이슈가 발생할 수 있으므로 실무에서는 ConcorrentHashMap사용 권장 구현체가 하나만 있는 경우 인터페이스 명뒤에 impl 관례상 많이 씀 가입을 하고 회원을 찾으려면 memberRepository 인터페이스 필요 구현 객체를 선택해 주어야함 join에서 save호출하면 다형성에 의해 MemoryMemberRepository에 있는 save호출 됨 순수한 자바 코드로 자바 메서드 실행..

개발 공부/JAVA 2023.12.13

사이드 프로젝트 - JPA Repository / Service

Spring Data JPA 에서는 간단한 CRUD 기능을 공통으로 처리하는 인터페이스를 제공 새로운 레코드 생성, 불러오기, Count 세기 등 간단한 CRUD기능들은 별도로 구현하지 않아도 제공되는 메소드를 호출하기만 한다면 사용 가능 위의 코드에서 JpaRepository를 상속 받았는데 , 제네릭 정보 안에 Domain 폴더 내에 만들었던 Album Entity와 Album ID(PK)타입인 Long을 입력하면 어떤 Entity를위한 Repository인지 정보가 있기 때문에 albumRepository에서 작업시 어떤 테이블에 데이터를 넣어야 할지 Spring이 알게 됨 사용자가 직접 정의하는 CRUD메서드 @Repository 어노테이션을 추가해서 스프링 빈으로 등록하여 IoC에서 관리하게 함..

스프링 입문 - DB접근 기술

generated by default as identity : 값을 세팅하지 않고 insert하면 db가 자동으로 id값을 채워줌 순수 JDBC 자바는 DB로 연결하기 위해 JDBC드라이버가 필요하다 build.gradle에 라이브러리 추가 implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' import 필요 -> build.gradle에서 아래의아이콘 누르면 import됨 db 접근 준비 완료 스프링을 통해 dataSource를 주입 받아야 함 통합 테스트 Spring Framework 에서 DB Connection을 사용할 때는 DataSourceUtils를 통해 connect..

스프링 입문 - 회원관리 예제로 웹MVC개발 (조회)

memberService.findMembers( ) : 멤버를 다 꺼내올 수 있음 member리스트를 모델에 담아 화면에 넘김 template에 memberList를 만들어 주어야함 ${members} : 모델안에 있는 값(객체)을 꺼냄 -> member에 담아 id와 name을 출력해줌 th:each 이 과정을 반복 서버를 껐다 켜면 데이터가 지워짐 (메모리에 담겨 있기 때문에 자바를 끄면 사라짐) -> DB나 파일에 저장필요

스프링 입문 - 회원관리 예제로 웹MVC개발 (등록)

도메인 첫번째 localhost8080 들어오면 호출됨 home.html이 호출 됨 첫번째 도메인 localhost8080요청이 오면 controller의 "/"를 찾아보고 Mapping된게 있으면 호출하고 끝남 기존에 만들었던 index.html은 무시됨 name과 name이 mapping된다 [과정] 브라우저에서 members/new 요청(Get방식) Controller의 members/new를 찾아주고 createForm()이 호출. createMemberForm으로 이동 리턴하면 viewResolver를 통해 createMemberForm.html이 선택되고 타임리프 템플릿이 렌더링함. get : url에 엔터쳐서 요청하는 방식 (조회할 때) post방식: 데이터를 form에 넣어서 전달하는 방식..