목록springboot (22)
관심쟁이 영호
아키텍처를 살펴보면 Controller와 Repository를 연결해주는 Service가 필요하다. 1. Service Pakage를 생성한다. 코드를 입력해준다. // MemberService.class //Repository와 똑같이 @Conponent를 가지고 있다. 똑같이 spring Component scan 단계를 거치도록 하기 위함인 듯 하다. @Service @Transactional(readOnly = true) //데이터 변경은 기본적으로 트랜잭션안에 있어야 한다. @RequiredArgsConstructor // 자동 주입 public class MemberService { //@Autowird를 추가한다면, //EntityManager의 @PersistenceContext와 똑같이 ..
1. 구현 기능 - 회원 등록 - 회원 목록 조회 2. 구현 순서 - 회원 엔티티 코드 다시 보기 - 회원 리포지토리 개발 - 회원 서비스 개발 - 회원 기능 테스트 순서는 이렇게 할 것이다. 실무에서 하는 방법대로 하신다고 하시니, 숙지해두면 좋을 순서일 것이다. 1. 회원 리포지토리 구현 리포지토리는 이전에 포스팅한 글에서 언급했듯이, DB에 JPA기술을 사용하여 직접 접근하는 것이다. 회원 리포지토리라 함은, DB에 저장되어있는 회원정보를 GET, SET하는 기능이 있을 것이다. - repository pakage를 생성한다. - repository pakage에 MemberRepository를 생성했다. - 그리고 코드를 넣는다. // MemberRepository.class //스프링에게 이것이..
1. Getter와 Setter 실무에서는 Getter를 이용하여 데이터 조회를 하는 경우가 상당히 많다. 그래서 Getter를 열어두지 않으면 많이 힘들다. 그래서 열어두는 것이 좋다. 반면에, Setter는 데이터를 잘못 바꾸는 경우가 있어서 열어두었다가 어느 부분에서 어떻게 데이터가 업데이트 되었는지 파악하기가 힘든 경우가 있다. 그래서 꼭 필요한 경우가 아니라면 Setter를 닫아두는 것을 추천하신다. -> 변경전용 비지니스 메서드가 필요하다. 2. 엔티티 식별자 엔티티의 식별자는 id, PK 컬럼명은 member_id를 사용해주는 이유는, 엔티티는 타입이 있어서 id필드 만으로 쉽게 구분할 수 있지만, 테이블은 타입이 없다. 그래서 구분이 상당히 힘들다. 그리고 관례상 테이블은 테이블명 + id..
이번 게시글은 이전 수업의 연장으로 다른 엔티티를 살펴볼 예정이다. ※ 현재까지 느낀 바로는, 문서를 읽을 줄 아는 능력이 필수인 듯 한다. 그 의미는 UML을 읽을 줄 알아야한다. 1. 클래스를 완성시켜준다. - OrderItem, Item, Delivery, Address를 작성해준다. // OrderItem @Entity @Getter@Setter public class OrderItem { @Id @GeneratedValue @Column(name = "order_item_id") private Long id; private Item item; @ManyToOne @JoinColumn(name = "order_id") private Order order; private int orderPrice;..
이제 본격적으로 개발을 시작한다. 이번 강의는 이전 강의에서 분석했던것을 차례대로 개발하는 것이다. 엔티티 클래스 개발이라는 것은 객체 하나하나를 코딩하기 시작한다는 뜻인것 같다. 해보자. 시작하기에 앞서, 예제에서는 모든 클래스에 Getter, Setter를 설정한다. ※ 실무에서는 Getter만 열어두고, Setter는 필요시에만 설정해두는 것을 추천하신다. -> Getter는 조회를 실제로 엄청나게 많이 하기 때문에 열어두는 것이 좋고, Setter는 열어두었다가 데이터가 변경되는 경우가 있어서, 어디서 어떻게 데이터가 바뀌는지 파악하기가 힘들어서 개발장애가 일어나는 일이 있을 수 있다고 하신다. 1. domain pakage 생성 해당 "domain pakage"는 주요 Entity를 모두 넣을 ..
프랑스, 일본, 독일 사람들이 각자의 나라의 언어로 나에게 말을 건넨다. 내가 응답을 해줘야 한다고 하면, 나는 프랑스어, 독일어, 일본어를 각각 공부를 하고 각자의 말로 응답을 해줘야 한다. 정말 비효율적이다. 그럼 저 사람들이 한국어를 공부해서 나한테 말을 건네면 되자나? 그럼 효율적이다. 그럼 저 사람들이 한국어 공부를 열심히 해서 나한테 말을 건네려고 할 때, 나 대신 대답을 해줄사람이 중국인으로 바뀌어버리면? 저 사람들은 또 중국어를 공부해야한다. 이것 또한 비효율적이다. 그래서 세계 공통어인 영어가 생겼다! 이러한 원리로 만들어낸것이 JSON이다. 컴퓨터 세계에서 서로 데이터를 송수신할 때로 생각해보자. 자바와 자바를 데이터를 송수신한다면, 말이 통한다. 반대로 자바객체를 C언어로 보낸다고 하..