save()메서드를 참고해보면 리턴값으로 member객체 자체를 리턴하게 되는데 막상 테스트코드에 가서 이용하게되는걸 보면 리턴값을 받는것없이 바로 이용이 가능한게 보입니다. 사용예제) repository.save(member); 자바에서 메서드가 리턴값이 있으면 무조건 해당타입의 변수로 받아줘야되는걸로알고있는데 여기선 리턴받는변수없이 에러가 나지않는 이유가뭔지 궁급합니다.
2021-08-06 11:47:46.485 WARN 10156 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberServiceImpl' defined in file [C:\study\core\bin\main\hello\core\member\MemberServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,memberRepository 이거때문인지 localhost:8080 에서 에러페이지 안뜨고 그냥 연결자체가 안되는데 어떤이유인지 모르겠습니다..
** * 상품 수정 폼 */ @GetMapping(value = "/items/{itemId}/edit") public String updateItemForm(@PathVariable("itemId") Long itemId, Model model) { Book item = (Book) itemService.findOne(itemId); BookForm form = new BookForm(); form.setId(item.getId()); form.setName(item.getName()); form.setPrice(item.getPrice()); form.setStockQuantity(item.getStockQuantity()); form.setAuthor(item.getAuthor()); form.setIsbn(item.getIsbn()); model.addAttribute("form", form); return "items/updateItemForm"; } 트랜잭션이 끝나는 시점에 변경을 감지해서 DB에 반영해주는 거라고 알고 있는데 컨트롤러의 이 메서드에서 어느 시점에 트랜잭션이 끝나는건가요?
public class Order { private Long memberId ; private String itemName ; private int itemPrice ; private int discountPrice ; public Order ( Long memberId , String itemName , int itemPrice , int discountPrice ) { this . memberId = memberId ; this . itemName = itemName ; this . itemPrice = itemPrice ; this . discountPrice = discountPrice ; } 위에 private Long memberId; 이렇게 정의 하는데 굳이 생성자를 만들 필요가 왜 있는 건가요??
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
밑에 제가 작성한 코드인데요 문제 없이 잘 작동하고 이기고 지고 비기는 경우 확실하게 잘 나옵니다 여기서 제가 궁금한 점은 이 상태에서 제가 1을 입력했을 때 가위를, 2를 입력했을 때 바위를, 3을 입력했을 때 보를 출력하게끔 하고싶은데 코드를 여기서 어떻게 수정해야할지 잘 모르겠습니다 input과 value 값은 int(정수)인데 글자가 나오게끔 타입(Type) 변환이 가능한가요?!
안녕하세요, 영한님 좋은 강의 감사합니다. 들을수록 질문이 늘어가네요.. 지금 설명해주시는 http method(get, post, patch, put) 기능들은 관례적으로 그렇게 사용된다는 걸 설명해주시는 건지요? 예를 들어, 좋은 방법은 아니겠지만, 스프링에서 PostMapping으로 받더라도 그에 따라 백엔드 단에서 어떻게 구현할지는 오로지 백엔드 개발자에게 달려있는 거 같아서요. http method는 관례적으로 이렇게 사용되니, 클라이언트 개발자와 백엔드 개발자가 소통할 때 기존에 약속된 기능 스펙대로 백엔드 단에서 구현되는 게 바람직하다 정도로 이해하면 될까요?
여기부분에 질문을 드려야되는진 모르겠지만ㅠㅠ 토이프로젝트하면서 getSingleResult() 라는걸 알았습니다만 전에 강의에서 말씀하셨듯이 조건이 1. 값이 무조건 한개여야된다. 2. 값이 두개 이상이면 에러가난다. 3. 값이 아에 없으면 안된다. 이렇게 이해를 하였습니다만 여기서 고민이 있습니다 해당 JPQL 값이 없을수도 있고 한개일수도 있는 조건이 있었습니다만 제 생각으로 두가지로 해결할수 있을듯합니다만 1. getListResult() 로 출력하고 해당 조건문 값으로 처리 ex ) getListResult() .get(0) 2. 옵셔널로 처리 두가지로 혹시 코드를 예시를 알수 있을지 해서 여쭤봅니다..ㅠ 저 같은경우는 옵셔널로 처리를 하긴했는데 뭔가 코드가 지져분해서 여쭤봅니다..
여러 뻘짓을 하다가 혹시나 도움되실분이 계실까 해서 올립니다. 환경: mac big sur 11.51 제 경우는 docker build시에 ~~ not found: not found에러가 떠서 buildkit을 비활성화 시킨 후에 실행해보니 이번에는 nginx의 카피 실행시에 build폴더가 존재하지 않다고 하였습니다. 결국 build폴더가 존재하지 않는데 그걸 카피하려고 하다가 생긴 문제였습니다. buildkit을 false로 설정할 필요도 없었습니다. CMD ["npm", "build"] 를 지우고 RUN npm build 로 바꾸니 해결되었습니다. 이유는 뭔지 모르겠지만 이전 스테이지의 CMD는 다음 스테이지가 안기다려주는데 RUN은 기다려줘서 npm 빌드 후에 다음 스테이지 스크립트가 진행될 수 있었습니다. 아마도 영상에서 쓰인 도커랑 제 홈브류로 깔린 도커의 버전 차이에서 생긴 문제이지 않을까 싶습니다.
안녕하세요. P5에 /error 동일한 경로를 처리하는 errorHtml() , error() 두 메서드를 확인할 수 있다. 라고 되어 있어 BasicErrorController를 찾아보니 url 매핑이 아래처럼 되어있습니다. @RequestMapping("${server.error.path:${error.path:/error}}") 뭔가 프로퍼티를 참조하는것 같은데 위의 내용을 어떻게 해석해야 되는지 잘 모르겠네요... 프로퍼티 안에 또 프로퍼티가 들어가 있는것도 처음보고... ':' 문자는 무슨 의미인지도 잘 모르겠습니다. 확인좀 부탁드리겠습니다
안녕하세요, api 호출 부분에 궁금한 것이 있어서 질문을 드립니다. 현재 클라이언트는 로컬 호스트 8080포트에 떠있고, 서버는 3000번 포트에 떠있는데 api 요청시 cors 에러가 발생하지 않는 이유가 궁금합니다. 예전에는 이렇게 포트가 다를 경우에는 에러가 났어서 webpack proxy 설정을 이용했던거 같은데 왜 현재의 예제에서는 에러가 발생하지 않는지 궁금합니다.
클래스의 인스턴스들은 각자의 포인터가(주소값이) 있고 그 포인터를 가진 인스턴스를 this로 사용해서 자신의 주소를 출력하거나 클래스의 함수나 변수에 접급할 수 있다는거죠?? 클래스 안에 있는 함수나 변수에는 this->라는 코드가 숨겨져있는거고 this-> 코드가 있기에 클래스에 인스턴스들은 클래스 내부에 접근이 가능한거고 void *te() { return this; } 이런식으로 해봤을떄 비정적 멤버함수 내에서만 사용이 가능하다고 하는데.. 그럼 this라는건 클래스와 객체 사이에서만 가능한건가요? Calc &add(int value) { m_value += value; return *this; } Calc &sub(int value) { m_value -= value; return *this;} Calc& mult(int value) { m_value *= value;return *this; } 이 부분은 Calc 클래스를 참조해서 자기 자신을 반환하니까 각 함수의 값이 자기 자신한테 반환기에 클래스 안에 함수의 함수를 계속 호출이 가능한거군요 제가 이해한게 맞을까요?
안녕하세요 선생님. 덕분에 너무 좋은 강의 듣고 있습니다. 감사합니다. 강의 마지막에 git push origin master를 통해 git hub에 파일들을 올리고 나서 git hub에 들어가보면 다 업데이트가 되어있는데요. 궁금한게 여기서 models 파일은 다른 파일들과 달리 업데이트되어있지 않습니다. 어떤 이유 때문에 mdoels만 업데이트가 되지 않는 것인지 궁금합니다. 감사합니다^^