@GetMapping public String items ( Model model ) { List < Item > items = itemRepository . findAll () ; model . addAttribute ( "items" , items) ; return " basic/items " ; } 여기에서 계속 새로고침을 하면 model에 items객체를 계속 addAttribute 될거같은데 그럼 model에는 어떻게 저장이 되나요? item 객체가 같은지 확인하고 같으면 저장하지 않고, 같지 않으면 새로 추가하는 방식으로 돌아가나요? addAttribute가 어떻게 동작하는지 궁금합니다.
@RequestMapping ( " /basic/items " ) 여기로 url이 들어오면, get으로 바로 @GetMapping public String items ( Model model ) { 이쪽으로 들어오고, return으로 html을 반환하지 않나요? 그런데 상품이 등록 되어 있던데.. @PostConstruct public void init () { itemRepository . save ( new Item ( "testA" , 10000 , 10)) ; itemRepository . save ( new Item ( "testB" , 20000 , 20)) ; } 이 init은 누가 호출하는 것인지 궁금합니다.
안녕하세요 web에서는 구입버튼 누르면 soldout이 1이 되어 회색으로 변하는데 모바일에서도 똑같이 적용하고 싶어서 질문드립니다 web에서는 axios . get ( ` ${ API_URL } /products/ ${ id } ` ) 이 sever의 app . post ( "/purchase/:id" , ( req , res ) => { const { id } = req . params ; models . Product . update ( { soldout : 1 , }, { where : { id , }, } ) 와 통신하여 soldout값이 1이 되는데 모바일에서는 어떻게 코드를 작성해야 할까요? 웹에서는 Antd의 <Button>을 이용하고 모바일은 <TouchableOpacity>를 이용하는데 웹에서처럼 < TouchableOpacity = onClick { onClickPurchase } > 로 함수를 만들어주면 버튼에 아무런 반응이 없습니다
안녕하세요, while 반복문 아래 push 메소드 코드에 있어 이해되지 않는 부분이 있어 질문드립니다. <a href="1.html">HTML</a> 이라는 원래 코드에서 "1.html"부분과 HTML부분을 state로 제어한다는 건 이해했습니다. 그래서 저는 while 반복문 부분을 while (i < data.length) { lists.push(<li><a href={data[i].id}+".html"}>{data[i].title}</a></li> } 이렇게 적었고 실행이 되는것 같습니다. 강의 예시처럼 <a href={"/content/"}+data[i].id}>라고 적는 부분이 이해되지 않습니다. /content/는 경로를 뜻하는가요? 그리고 data[i].id 는 숫자 1,2,3 만을 반환할텐데 .html 확장자가 필요하진 않은가요? 감사합니다.
JDK관련 설정을 모두 했음에도 빌드가 잘 되지 않았습니다. 저는 Windows 10 사용자이고, cmd에서 java -version gradlew build로 하면 이전에 삭제했던 java 8 경로로 찾아가려 하고, gradle build로 하면 잘 빌드가 됩니다. 이렇게 해도 되는지 잘 모르겠습니다.
안녕하세요 강의를 보던 도중 의문이 생겨서 질문남깁니다. Layerd Architecture 에서 Controller, Service, Repository로 역할을 구분해서 레이어당 커플링을 줄이도록 하고 있는 알고 있습니다. 그런데 DTO 의 사용위치 (해당 DTO는 사용자 API)에 대해 궁금한 점이 있습니다. JPA에서 DTO로 조회하면 편하게 데이터를 가져 올수 있는데 해당 DTO가 서비스 혹은 Application Layer에 커플링이 생기는데 이럴 경우는 어떻게 해결해야 될까요..? DTO 자체를 Service DTO, 와 Controller DTO로 분리하여 컨버팅을 해주어야 되는지 아니면 Controller 에서 Repository 를 직접 사용해도 되는 예외상황을 고려해야될지가 고민입니다. 아니면 엔티티를 조회한후 필요한 부분만 DTO로 변환을 하는지 그것도 아니면 Object 객체로 조회한후 Object 안에서 데이터를 추출하는지 어떤 방법을 사용하시는지가 궁금합니다. 보통 이런 경우에는 어떻게 처리하는게 효율적인 방법일까요..? 시스템 개발을 하다가 서비스로 커리어 전환을 하고 있는데 김영한님 강의가 너무 재밌어서 계속 찾아보게 되네요 ㅎ
안녕하십니까 영한님 ! 제가 잘 이해하고 있는지 , 아닌지에 대해 여쭙고자 질문을 남깁니다. @Controller를 통해 스프링 빈으로 해당 클레스가 등록이 되고 , @RequestMapping에 담긴 논리URL 통해 클라이언트가 전송한 URL과 매칭 여부를 판단해 ( getHandler() ) @Cotroller로 등록된 객체를 반환하여, 그에 맞는 어댑터를 통해 해당되는 Controller을 실행하는게 맞을까요?
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Unsatisfied dependency expressed through method 'dataSourceScriptDatabaseInitializer' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver 이런 코드가 뜨면서 계속 오류가 발생해서 test를 해볼 수가 없습니다. 무엇이 문제인가요?