
AOP가 필요한 상황 - 모든 메소드의 호출 시간을 측정하고 싶다면? - 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) - 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? MemberService 회원 조회 시간 측정 추가 package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMemberRepository; import org.springframework.beans.factory.annotati..

스프링 JdbcTemplate // 실무에서도 많이 씁니다스프링 JdbcTemplate 회원 레포지토리 순수 Jdbc와 동일한 환경설정을 하면 된다 스프링 JdbcTemplate과 MyBatis 같은 라이브러리는 JDBC API에서 본 반복 코드를 대부분 제거해준다. 하지만 SQL은 직접 작성해야 한다. 생성자가 하나 일 때 @Autowired 생략 가능 package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springfram..

##### 스프링 데이터 엑세스 H2 데이터베이스 설치 순수 Jdbc 스프링 통합 테스트 스프링 JdbcTemplate JPA 스프링 데이터 JPA H2 데이터베이스 설치 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공 처음에는 데이터베이스 파일이라는걸 만들어야 함 jdbc:h2:~/test -- 내 홈에 있는 경로를 알려주는 것 create table member -\-테이블 생성 ( id bigint generated by default as identity, -\- java long == h2 bigint // db가 자동으로 id 값을 채워 준다 name varchar(255), primary key (id) ); 순수 Jdbc 환경설정 build.gradle 파일에 jdbc, h2 데..

스프링 빈과 의존관계 컴포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 등록하기 컴포넌트 스캔과 자동 의존관계 설정 회원 컨트롤러가 회원 서비스와 회원 레포지토리를 사용할 수 있게 의존관계를 준비하자. 회원 컨트롤러에 의존관계 추가 package hello.hellospring.controller; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @Controller public class MemberController { private final Mem..

비즈니스 요구사항 정리 회원 도메인과 리포지토리 만들기 회원 리포지토리 테스트 케이스 작성 회원 서비스 개발 회원 서비스 테스트 비즈니스 요구사항 정리 데이터 : 회원 ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음 ( 가상의 시나리오 ) 컨트롤러 : 웹 mvc의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체, 예)회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 데이터 저장소는 RDB,NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정 개발을 진행하기 위해서 초기..

MVC : Motdel, View, Controller Controller @Controller public class HelloController { @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model) { model.addAttribute("name", name); return "hello-template"; } } View 'resources/template/hello-template.html' hello! empty 실행 http://localhost:8080/hello-mvc?name=spring MVC, 템플릿 엔진 이미지 API @ResponseBody 문자 반환 @Contr..

Objectives MVC 구조의 이해 스프링 MVC의 다양한 예제의 학습 스프링 MVC를 이용하는 파일 업로드 연습 스프링 MVC의 예외처리 MVC (Model - View - Controller) 대부분의 서블릿 기반 프레임워크들이 사용하는 방식 데이터와 처리, 화면을 분리하는 방식 웹에서는 Model 2 방식으로 표현 Model 2 방식에 대한 이해 왜 Controller를 따로 분리 했을까? URL 처리 - URL은 고정 시켜 놓고 화면만 바꾸고 싶다 화면과 로직 분리 -- Model2 부터 시작 유지보수가 좋다는 근거가 무엇일까? 돈 - 변경 클라이언트의 변경에 비용 --> 둘 중 클라이언트 변경에 비용에 훨씬 많이 들어감 서비스 제공자 입장 비용 ex01 프로젝트 만든 후 pom.xml에 의존..
테스트 케이스 작성 개발한 기능을 실행에서 테스트 할 때 자바의 main 메서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해 해당 기능을 실행한다. 이런한 방법은 준비하고 실행하는데 오래 걸린다. 반복 실행하기 어렵고 여러 테스트를 한번에 실행하기 어렵다 는 단점이 있다. 자바는 JUnit이라는 프레임 워크로 테스트를 실행해서 이러한 문제를 해결모든 테스트는 순서랑 상관없이 모두 따로 동작하게 작성해야 함 테스트는 서로 순서와 관계 없이 서로 의존관계 없이 설계가 되어야 한다. 그러기 위해선 저장소나 공용 데이터를 깔끔하게 지워줘야 한다 테스트 주도 개발 TDD 세모는 세모틀 별은 별틀을 만들고 꽂히는지 안 꽂히는지 테스트 하는거 TTD는 테스트를 먼저 만들고 구현 클래스를 만들어서 돌리는 것..
- Total
- Today
- Yesterday
- 제약조건
- 아이디
- react 시작 오류
- 셀프로젝트
- @RequestParam
- 셀렉트박스
- optional
- React
- 체크박스
- 받아오기
- 씹어먹는 C 언어
- App
- reactStart
- C언어
- ID
- reactApp
- th:selected
- JPA
- selectbox
- commit 에러
- CheckBox
- 서버전송
- SCP
- C
- findFirstBy
- 다중체크박스 처리
- mircrosoft visual studio
- @reqeustBody
- 다른데서 react
- @Builder
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |