본문 바로가기

Stack25

DI 와 Ioc의 원리와 사용법 강한 결합 어떤 객체를 다른 클래스에서 생성하여 사용하였을 때, 해당 객체에 변경을 가하면 해당 객체를 생성한 다른 클래스에서도 똑같이 변경을 해줘야 하는 상태를 의미한다. 다음 예시를 통해 더 자세히 알아보자. 1. Animal이라는 객체를 선언 public class Animal { } 2. Cat이라는 클래스에서 Animal 객체를 생성 public class Cat{ public Animal animal; public Cat() { this.animal = new Animal(); } } 3. Animal 클래스에서 Animal 객체에게 이름을 지어준다면, public class Animal { public Animal(String name) { } } 4. Cat 클래스에 있는 Animal 객체.. 2022. 5. 29.
MVC 패턴,Controller & Servicec & Repository 개념 Controller & Servicec & Repository 란 무엇일까? MVC패턴은 Model – View – Controller 의 약자로써 개발을 할 때 3가지 형태로 역할을 나누어 개발하는 방법론이라고 한다. Model 어플리케이션이 무엇을 할 것인지 정의하는 부분이다. 즉, DB와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다룬다. spring 의 서비스 역할을 맡기도한다 View 사용자에게 시각적으로 보여주는 부분이다. (UI) Controller(사용자가 보는 페이지, 데이터처리 사이에서 중간제어자 역할을 한다) Model이 데이터를 어떻게 처리할지 알려주는 역할을 한다. 사용자에 의해 클라이언트가 보낸 데이터가 있으면 모델을 호출하기전에 적절히 가공을 하고 모델을 호출.. 2022. 5. 28.
<aside> restAPI의 put 과 patch 는 어떤 차이점이 있을까요? 어떤 경우에 사용하면 좋을까요?</aside> Patch요쳥은 자원에 대한 부분적인 수정을 적용하기 위한 HTTP 메서드이고 PUT요청은 기존 값을 유지하면서 새 값을 덮어 씌웁니다. 만약에 put 요청을 patch 요청처럼 항목을 누락하고 변경값만 넣게 되면 나머지 항목들은 null 로 저장되게 됩니다 예를 들어 특정게시물의 수정및 좋아요등의 기능은 그 게시물의 내용, 작성자 , 좋아요 토글등의 정보가 필요하고 다른 정보와 연관성이 있는작업은 put 매서드가 좋습니다 반대로, 회원정보수정 과 같은기능들은 다른 정보에는 의존하지않고 해당 정보의 id 값을 기준으로 바꾼다면 patch 매서드가 더 효율적일 것입니다 2022. 5. 26.
spring (controller,service,repository) Controller, Service, Repository 가 무엇인가요? 3개를 통틀어 3계층이라고도 합니다 스프링의 척추이며 느슨한 결합의 대표적인 예시입니다 Repository 디비접근 public interface MemoRepository extends JpaRepository { entity 로 생성한 db에 접근하는 매서드들을 사용하는 인터페이스입니다 memorepository라는 인터페이스를 만들어주고 jpa리포지토리를 상속시켜줍니다 안에 entity 클래스명과 자료형을 넣어주면됩니다 Service Client가 Request를 보낸다.(Ajax, Axios, fetch등..) Request URL에 알맞은 Controller가 수신 받는다. (@Controller , @RestControl.. 2022. 5. 26.
스프링 학습 2주차 ARC에서 Post 요청을 할때 이러한 에러가 뜬다 에러를 해결하면 남기겠다 해당에러의 경우 자바의버전의 문제가 있어서 진행이 안됬다 500오류를 검색했는데 서버에러라는 포괄적인 답만 나와서 해결이안되었다 자바재설치후 해결하게되었다 다음에는 꼭 버전도 체크해서 문제를 해결해봐야겠다 2022. 5. 22.
스프링 학습 1주차 스프링 프로젝트 생성시 필요한 설정:자바 8 언어는 자바 gradle |Dependencies Spring web/ MY SQL Driver/ H2 Database/ Spring Data JPA/ Lombok Getter 와 Setter 클래스에 private로 할당된 요소들을 Setter로 저장하고 Getter로 불러낸다 public void setName(String name){ this.name=name; } 이것은 Setter의 예시이다 요소앞에 set그리고 변수이름 Name을 대문자로 시작한다 정보를 받아와야하기때문에 시작은 public으로 시작한다 public String getName(){ return this.name; } 이것은 getter의 예시이다 요소앞에 get 변수이름대문자로 시작.. 2022. 5. 20.