묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Unsupported java 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강의를 잘 수강하고있는 한 수강생입니다 지금까지 오류가 발생하지 않다가 html 파일을 수정하고나서부터 다음과 같은 오류가 발생합니다 jvm과 sdk버전을 20으로 바꾸면 또 다음과 같이 오류가 발생하는데 해결방법이 있을까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Servlet 클래스, super
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Servlet 클래스를 구현한 RequestHeaderServlet 에서 super.service(request, response); 생략하지 않으면 whitelabel error 가 나는 이유는 뭔가요?
-
미해결스프링 부트 - 핵심 원리와 활용
스프링부트 배포관련 질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 강의 너무 잘 듣고 있습니다기초적인 질문드립니다^^;다수의 개발자가 하나의 웹 프로젝트를 진행하는데 스프링부트는 어떻게 배포해야되나요? 각각 jar 가 생성되니 jar별 port를 넣어서 띄워야 되는지? 아님 모든 개발자의 소스를 합쳐서 jar 를 생성해야되는지? 아님 다른 방식으로 하는지 궁금합니다너무 기초적인 질문이라 ^^;감사합니다
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
thymeleaf 등과 같은 view와 프론트에서 그리는 화면의 관계
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]https://www.inflearn.com/questions/72824 질문을 읽어보았습니다.서버사이드 렌더링과 클라이언트 사이드 렌더링이 있고, 강의 예제에서 썼던 thymeleaf 같은 방법은 서버사이드 렌더링이라고 이해했습니다.그리고 실무에서는 서버사이드와 클라이언트 사이드를 둘 다 사용한다고 하셨는데, 둘 다 사용한다는 말의 의미가 1. 동일한 화면에 대해 서버사이드와 클라이언트 사이드가 공존한다는 건가요?만약 맞다면, 2. 실제 사용자가 보는 화면은 둘 중 어떤 걸로 선택되나요?그리고 3. 서버사이드 렌더링을 사용하는 이유와 용도가 궁금합니다. 저 혼자서 데이터를 대강 화면에 뿌려보면서 백엔드 개발이 잘 되었는지를 확인하는 용도로 쓰는건가? 라는 생각을 했어서... 정확히 실무에서 어떤 용도로 쓰는건지 궁금합니다.질문이 너무 많아서 죄송합니다ㅠㅠ 상세한 답변이 어려우시다면 참고할만한 레퍼런스나 검색 키워드를 추천해주셔도 좋습니다.
-
미해결스프링 핵심 원리 - 기본편
been.getClass() 출력할 때 값이 다른데 상관없을까요?
제 결과영한님의 결과bean = class hello.core.AppConfig$$EnhancerBySpringCGLIB$$bd479d70xxx.SpringCGLIB의 xxx 는 어떤 의미인가요? 저는 아무것도 뜨지 않아서 이게 잘못된 결과인가 싶어서 질문드립니다.학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
jsp 회원 전체 목록 조회 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]진짜 오타랑 폴더 문제 있는 거를 다 해결했는데도jsp 회원 전체 목록 조회가 500오류가 뜹니다.제 코드 파일 아래에 올려두었습니다.https://drive.google.com/file/d/1nlCQnZW4erNmTiNvcnR9NXAnjxdJmIor/view?usp=drive_link 선생님 코드 파일 실행했을 때는 잘 진행되는 것을 확인하였습니다. 무엇이 문젠지 3시간 동안 고민했는데 모르겠습니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
이미지 보여주기 @ResponseBody
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.downloadImage 메소드 작성할때 위에 @Responsebody사용한 이유가 이미지를 리턴하기 위해서 사용한게 맞나요 ?그리고 다른 방법은 어떤게 있나요 ?
-
미해결스프링 핵심 원리 - 기본편
컴포넌트 스캔과 의존관계 자동 주입 시작하기 test중 NoSuchBeanDefinitionException 에러
package hello.core.member; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class MemberServiceImpl implements MemberService { //private final MemberRepository memberRepository = new MemoryMemberRepository(); private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Override public void join(Member member){ memberRepository.save(member); } @Override public Member findMember(Long memberId){ return memberRepository.findById(memberId); } //싱글톤 test용 public MemberRepository getMemberRepository() { return memberRepository; } }basicScan 테스트를 진행하는데 코드를 몇 번씩 비교했는데 저렇게 떠서 왜인지 찾다가 https://www.inflearn.com/questions/799379/nosuchbeandefinitionexception-no-qualifying-bean-of-type-x27-hello-core-member이 사이트에서 OMG님이 제공해주신 test코드 @Test void basicScan() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class); System.out.println("================"); String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for(String beanDefinitionName : beanDefinitionNames) { BeanDefinition beanDefinition = ac.getBeanDefinition(beanDefinitionName); if (beanDefinitionName.contains("memberService")) { if(beanDefinition.getRole() == BeanDefinition.ROLE_APPLICATION) { System.out.println("beanDefinitionName : " + beanDefinitionName + " beanDefinition : " + beanDefinition); } } } System.out.println("================"); // MemberService memberService = ac.getBean(MemberService.class); // assertThat(memberService).isInstanceOf(MemberService.class); }를 돌리면 제공해주신 출력 예시대로 나오는데 ,정작 강의에서 해주시는 Test코드는 계속 에러가 나고 있습니다 ㅠㅠㅠ어떻게 해결해야할까요..?
-
해결됨스프링 핵심 원리 - 기본편
실행 결과에 로그
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]저는 실행 결과가 왜 깔끔하게 나오지 않는지 알려주세요..!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Book을 Setter를 열어둬서 dto정보를 받지 않고 빌더 패턴을 사용해서 다음과 같이 구현해보았습니다
상속 받은 엔티티는 @Builder를 사용하는게 아니라, 다음과 같이 @SuperBuilder로 자식, 부모 엔티티 모두에 선언해줘야 한다고 합니다.<Book 엔티티>package jpabook.jpashop.domain.item; import jakarta.persistence.DiscriminatorValue; import jakarta.persistence.Entity; import lombok.*; import lombok.experimental.SuperBuilder; @Entity @DiscriminatorValue("B") @Getter @SuperBuilder @AllArgsConstructor @NoArgsConstructor public class Book extends Item { private String isbn; private String author; }<Item 엔티티>package jpabook.jpashop.domain.item; import jakarta.persistence.*; import jpabook.jpashop.domain.Category; import jpabook.jpashop.exception.NotEnoughStockException; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.experimental.SuperBuilder; import java.util.ArrayList; import java.util.List; @Entity @Getter @SuperBuilder @AllArgsConstructor @NoArgsConstructor @Inheritance(strategy = InheritanceType.SINGLE_TABLE) public class Item{ @Id @GeneratedValue @Column(name = "ITEM_ID") private Long id; private String name; private int price; private int stockQuantity; @ManyToMany(mappedBy = "items") private List<Category> categories = new ArrayList<>(); /*비즈니스 로직*/ //todo: stock 증가 public void addStock(int quantity) { this.stockQuantity += quantity; } //todo: stock 감소 public void removeStock(int quantity) { int restStock = this.stockQuantity - quantity; if (restStock < 0) { throw new NotEnoughStockException("need more stock"); } this.stockQuantity = restStock; } } <ItemController 클래스>package jpabook.jpashop.controller; import jakarta.validation.Valid; import jpabook.jpashop.domain.item.Book; import jpabook.jpashop.service.ItemService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; @Controller @RequiredArgsConstructor public class ItemController { private final ItemService itemService; @GetMapping("/items/new") public String createForm(Model model) { model.addAttribute("form", new BookForm()); return "items/createItemForm"; } @PostMapping("/items/new") public String create(@Valid @ModelAttribute("form") BookForm form, BindingResult result) { if (result.hasErrors()) { return "items/createItemForm"; } Book book = createBook(form); itemService.saveItem(book); return "redirect:/"; } //todo: dto 정보를 받아서 엔티티를 만드는 단순 작업은 컨트롤러에서 처리 private Book createBook(BookForm form) { return Book.builder() .name(form.getName()) .price(form.getPrice()) .stockQuantity(form.getStockQuantity()) .author(form.getAuthor()) .isbn(form.getIsbn()) .build(); } }이렇게 하고, Jpashop의 상품등록에 들어가서 데이터를 입력하면 정상적으로 DB에 데이터가 저장됩니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
localhost8080 에서 json 경로만 500 서버 오류가 납니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영한님 수업 잘 따라오면서 나머지 강의들은 잘 프로그램이 작동했는데 HTTP요청 데이터 -API 메시지 바디 -JSON강의 실습이후 json요청 페이지에서만 오류가 뜨고 localhost8080에서는 백지 화면이 뜹니다 제가 무지해 혹시 오류가 따로 있을거같아 컴파일보드 메모장으로 첨부해봅니다.. 오후 11:15:43: Executing ':ServletApplication.main()'... > Task :compileJava UP-TO-DATE > Task :processResources UP-TO-DATE > Task :classes UP-TO-DATE > Task :ServletApplication.main() . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.2.2) 2024-01-22T23:15:44.017+09:00 INFO 4424 --- [ main] hello.servlet.ServletApplication : Starting ServletApplication using Java 21.0.1 with PID 4424 (C:\Users\�赿��\Desktop\Spring-mvc\servlet\build\classes\java\main started by �赿�� in C:\Users\�赿��\Desktop\Spring-mvc\servlet) 2024-01-22T23:15:44.018+09:00 INFO 4424 --- [ main] hello.servlet.ServletApplication : No active profile set, falling back to 1 default profile: "default" 2024-01-22T23:15:44.667+09:00 INFO 4424 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) 2024-01-22T23:15:44.676+09:00 INFO 4424 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2024-01-22T23:15:44.677+09:00 INFO 4424 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.18] 2024-01-22T23:15:44.711+09:00 INFO 4424 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2024-01-22T23:15:44.712+09:00 INFO 4424 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 652 ms 2024-01-22T23:15:44.787+09:00 INFO 4424 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: ServletContext resource [/index.html] 2024-01-22T23:15:44.968+09:00 INFO 4424 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' 2024-01-22T23:15:44.973+09:00 INFO 4424 --- [ main] hello.servlet.ServletApplication : Started ServletApplication in 1.2 seconds (process running for 1.426) 2024-01-22T23:15:49.563+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [0] 2024-01-22T23:15:49.564+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received [GET / HTTP/1.1 Host: localhost:8080 Connection: keep-alive Cache-Control: max-age=0 sec-ch-ua: "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Windows" Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Sec-Fetch-Site: none Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Accept-Encoding: gzip, deflate, br Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7 ] [��ü �Ķ���� ��ȸ] - start [��ü �Ķ���� ��ȸ] - end 2024-01-22T23:15:49.582+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [704] 2024-01-22T23:15:49.582+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received [] 2024-01-22T23:15:49.583+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@41b5971e:org.apache.tomcat.util.net.NioChannel@8c53d83:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8080 remote=/[0:0:0:0:0:0:0:1]:51861]], Status in: [OPEN_READ], State out: [OPEN] 2024-01-22T23:15:49.598+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [704] 2024-01-22T23:15:49.599+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Received [GET /favicon.ico HTTP/1.1 Host: localhost:8080 Connection: keep-alive sec-ch-ua: "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120" sec-ch-ua-mobile: ?0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 sec-ch-ua-platform: "Windows" Accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: no-cors Sec-Fetch-Dest: image Referer: http://localhost:8080/ Accept-Encoding: gzip, deflate, br Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7 ] [��ü �Ķ���� ��ȸ] - start [��ü �Ķ���� ��ȸ] - end 2024-01-22T23:15:49.601+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [604] 2024-01-22T23:15:49.601+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Received [] 2024-01-22T23:15:49.601+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@41b5971e:org.apache.tomcat.util.net.NioChannel@8c53d83:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8080 remote=/[0:0:0:0:0:0:0:1]:51861]], Status in: [OPEN_READ], State out: [OPEN]
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
JdbcTemplate - 이름 지정 파라미터 1 강의 내용 중 질문이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]2:48분쯤에 버그가 일어났을 때 실무에서는 데이터베이스의 데이터를 복구할 때 다시 버그가 일어난 시점으로 데이터베이스를 다시 되돌릴 수 있나요? 롤백기능같은걸 실무에서 쓰는지 강의를 듣다가 궁금해서 질문해봅니다!
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
existsByBookNameAndIsReturn
안녕하세요!! 저는 UserLoaHistoryRepository에 existsByBookNameAndIsReturn이렇게 메소드를 만들어도 bean 에러가 나네요,, 이유가 뭘까요!! 선생님
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
IDE에서 파라미터 정보 확인
안녕하세요크게 문제는 안되지만 궁금해서 질문 드립니다! 파라미터 확인해보면 이렇게 잘 나올 때가 대부분 인데 이렇게 시멘틱하지 않게 s1, s2, ... 식으로 표현될 때가 있어서IDE 문제나 버전문제일까요? 설정문제일까요? 혹시 알고 계신지 궁금합니다!!
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
자바 기초 듣고 넘어왔는데
스프링 설치를 어떻게 해야할까요 영상은 몇년전 영상같은데 저는 맥북이라 어떻게 진행해야할지 모르겠네요
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
직접 만든 프레임워크 -> 스프링 MVC 비교 pdf 부분 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]5. 스프링 MVC - 구조 이해.pdf의 2페이지에 나온 내용인데handlerMappingMap -> HandlerMapping이 부분은 이 두 개가 정확히 대응되지는 않는 거죠? 프론트 컨트롤러 V5에 있는 코드입니다.private final Map<String, Object> handlerMappingMap = new HashMap<>(); private final List<MyHandlerAdapter> handlerAdapters = new ArrayList<>();프론트 컨트롤러 V5의 handlerMappingMap와 handlerAdapters는DispatcherServlet 코드를 보니 왠지 handlerMappings와 handlerAdapters가 대응되는 것 같고,DispatcherServlet의 HandlerMapping 인터페이스와 대응되는 건 프론트 컨트롤러 V5에는 없는 상태라고 이해하면 될까요? 간단한 질문이지만 pdf를 제가 잘못 이해했을까 봐 질문드립니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
http://localhost:8080/hello 입력 시 에러가 납니다
검색해보니 여러 상황이 있어 java 폴더에 있는 것도 확인했고 오타도 없는거 같은데 왜 작동이 안 될까요...?=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
OrderQueryRepository 에러
OrderItemQueryDto와 OrderQueryDto를 생성한 후, OrderQueryRepository를 생성하여 학습하고 있는데 강의 내용과는 다르게 진행중입니다. (밑에 질문 글에 한번 올렸었습니다.) 스프링데이터JPA로 진행하다보니 @Query를 작성하여 연습하는 중 java.lang.IllegalStateException: Cannot instantiate class 'jaein.crudpractice.repository.order.query.OrderItemQueryDto' (it has no constructor with signature [java.lang.Long, java.lang.String, java.time.LocalDateTime, java.time.LocalDateTime], and not every argument has an alias) 자꾸 생성자쪽에서 문제가 발생합니다. OrderItemQueryDtopackage jaein.crudpractice.repository.order.query; import com.fasterxml.jackson.annotation.JsonIgnore; import jaein.crudpractice.domain.OrderItem; import lombok.Data; @Data public class OrderItemQueryDto { @JsonIgnore private Long orderId; private String itemName; private int count; public OrderItemQueryDto(Long orderId, String itemName, int count) { this.orderId = orderId; this.itemName = itemName; this.count = count; } } OrderQueryDtopackage jaein.crudpractice.repository.order.query; import jaein.crudpractice.domain.Order; import jaein.crudpractice.domain.OrderItem; import jaein.crudpractice.domain.OrderStatus; import lombok.Data; import lombok.EqualsAndHashCode; import java.time.LocalDateTime; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @Data @EqualsAndHashCode(of = "orderId") public class OrderQueryDto { private Long orderId; private String name; private LocalDateTime loanDate; private LocalDateTime returnDate; private List<OrderItemQueryDto> orderItems; public OrderQueryDto(Long orderId, String name, LocalDateTime loanDate, LocalDateTime returnDate, List<OrderItemQueryDto> orderItems) { this.orderId = orderId; this.name = name; this.loanDate = loanDate; this.returnDate = returnDate; this.orderItems = orderItems; } } OrderQueryRepositorypackage jaein.crudpractice.repository.order.query; import jaein.crudpractice.domain.Order; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import java.util.List; @Repository public interface OrderQueryRepository extends JpaRepository<Order, Long> { @Query("select distinct new jaein.crudpractice.repository.order.query.OrderQueryDto(" + "o.id, s.name, o.loanDate, o.returnDate, oi) " + "from Order o " + "join o.student s " + "join o.orderItems oi") List<OrderQueryDto> findOrderQueryDtos(Pageable pageable); @Query("select distinct new jaein.crudpractice.repository.order.query.OrderItemQueryDto(" + "oi.order.id, i.name, oi.count)" + " from OrderItem oi " + " join oi.item i " + " where oi.order.id = :orderId") List<OrderItemQueryDto> findOrderItems(@Param("orderId") Long orderId); } 생성자도 다 맞게 작성했는데 어느부분이 잘못됐는지 모르겠습니다.강의대로 EntityManager를 사용하여 해보아도 같은 에러가 발생합니다.도메인에서 연관관계 매핑에서 문제가 있는걸까요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우에서 빌드 이후에 오류가 발생합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.이런 오류가 발생하는데 이거는 버전이 안맞아서 발생하는건가요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
~/jpashop.mv.db 파일을 못찾겠습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]이 과정에서 jdbc:h2:~/jpashop까지 입력을 완료하고 데이터베이스가 잘 생성이 되었는데 ~/jpashop.mv.db이 어디에 생성된건지 모르겠습니다. ~/jpashop.mv.db