개발 공부 127

사이드 프로젝트 - 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에 넣어서 전달하는 방식..

스프링 입문 - 빈과 의존관계

컴포넌트 스캔과 자동 의존관계 설정 컴포넌트 스캔 대상 : 메인 메서드가 있는 패키지를 포함해서 하위패키지까지 찾아서 스프링 빈으로 등록해 줌. @Controller 스프링 컨테이너 통이 생기는데 , @Controller 가 있으면 MemberController객체를 생성해서 스프링에 넣어 두고 관리. 컨테이너에서 빈이 관리된다고 표현 생성자가 있으면 생성자를 호출 new MemberService()를 만들어서 사용하게 되면 생기는 문제점: 또 다른 컨트롤러에서도 가져다 쓸 수 있다 MemberSevice()는 여러 개 만들 필요 없이, 하나만 만들어 공용으로 사용하면 좋다 →컨테이너에 등록하면 하나만 등록 됨 스프링이 관리하게 되면 스프링 컨테이너에 등록하고 받아 써야 함 @Autowired 생성자에 ..

스프링 입문 - 회원관리 예제 (백엔드 개발)

Service : 비즈니스 처리 / 비즈니스에 가까운 용어 사용 필요 Repository : 기계적, 개발스럽게 용어 선택 service를 통해 member가입할 수 있고 repository에 저장되고 꺼내올 수 있음 controller와 view template필요 회원가입하고 결과를 html로 뿌려주고 그러려면 member controller를 만들어야됨 member service를 통해 회원가입, 데이터 조회할 수 있어야 한다. 이것을 의존관계가 있다고 표현. controller가 service를 의존한다 클래스 전체 테스트 하다가 오류 발생 @AfterEach : 메서드 실행이 끝날때마다 동작 Test실행 할 때, 순서 없이 진행 되는데 여러 메서드 안에 같은 value값을 넣은 경우 오류 생기는..