질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 파일을 따로따로 확인을 할 때에는 정상적으로 실행이 되나, 강의를 보고 따라했음에도 불구하고 페이지끼리 연결이 되지 않습니다. 회원 가입을 누르면 404가 떠서 아무것도 되질 않는데 어떻게 해야 할까요? https://drive.google.com/drive/folders/1WbF5awhnCLVgf-NDQlwXUP1Hfcfk6lUR?usp=drive_link
File file = new File("not existing file.txt"); FileInputStream = new FileInputStream(file); 이 코드를 복붙을 했는데 FileInputStream = new FileInputStream(file); 이부분에서 FileInputStream 부분이 빨간줄이 뜹니다 import java.io.File; import java.io.FileInputStream; 임포트는 이걸 했구요 Creates a FileInputStream by opening a connection to an actual file, the file named by the File object file in the file system. A new FileDescriptor object is created to represent this file connection. First, if there is a security manager, its checkRead method is called with the path represented by the file argument as its argument. If the named file does not exist, is a directory rather than a regular file, or for some other reason cannot be opened for reading then a FileNotFoundException is thrown. 이런 오류가 있는데 어떻게 해결해요?
이제까지 'url에 @RequestMapping과 @GetMapping로 조합된 주소를 입력하면 return값에 있는 html을 보여준다' 와 같이 이해하였습니다. @RequestMapping("/basic/items") @GetMapping("/{itemId}/edit") public String 메서드명(){ 코드 실행 return "basic/editForm";} url에 "/basic/items/1/edit"을 입력하여 상품수정 페이지를 호출하면 templates/basic/editForm.html와 같이 <해당 경로에 있는 html 파일>화면을 뿌려준다(렌더링한다?) 와 같이요. 그런데 이번에 리다이렉트를 보면 return "redirect:basic/items/{itemId}"; <해당 경로에 있는 html 파일>을 뿌려주는것이 아니라 해당 url을 입력한 것처럼 해서 @GetMapping("/{itemId}") public String item(@PathVariable long itemId, Model model) { Item item = itemRepository.findById(itemId); model.addAttribute("item", item); return "basic/item"; } 이 코드가 실행되는것으로 보입니다. 1.우선 제가 올바르게 이해하고 있는것이 맞는지 궁금합니다. 2.return값에 redirect가 붙으면 html 파일의 절대경로가 아니라 url로 인식을 해서 매핑을 알아서 해주는지 궁금합니다.
org.springframework.boot:spring-boot-starter-oauth2-resource-server:2.7.3 버전에서 jwtDecoder 생성 문제가 있는 것으로 보입니다. jwt-set-uri 설정일때는 되지 않고 issuer-uri 설정일때만 문제가 발생하지 않습니다. 혹시 제가 설정 문제인지 확인 차 질문드립니다. url 확인도 해봤습니다. https://github.com/okta/samples-java-spring/issues/77 여기서 문제가 있다며, 일부분을 인정을 하였습니다. 같은 상황으로 보입니다.
3. 웹개발 코스 [Enterprise Architecture(EA) X 전자정부프레임워크]
안녕하세요 EA 강의를 시작으로 열심히 들어보려 하고 있습니다. 사정 상 MariaDB 대신 Oracle을 사용하여 실습을 진행하고 있는데요 7강에서 문제가 발생했습니다. 오라클은 Procedure를 생성할 때 SELECT절이 있으면 반드시 INTO를 적어야 하는 것 같습니다. SQL> edit Wrote file afiedt.buf 1 CREATE OR REPLACE procedure JHBAEK.sp_myproc ( 2 in_userid tbl_user.userid%type, 3 in_userpw tbl_user.userpw%type, 4 out_state out number 5 ) 6 is 7 begin 8 update tbl_user 9 set userpw = in_userpw 10 ; 11 select userid, userpw 12 from tbl_user 13 where userid = in_userid 14 ; 15 out_state := 0; 16 end sp_myproc 17* ; SQL> / Warning: Procedure created with compilation errors. SQL> show errors Errors for PROCEDURE JHBAEK.SP_MYPROC: LINE/COL ERROR -------- ----------------------------------------------------------------- 11/2 PLS-00428: an INTO clause is expected in this SELECT statement SQL> 오라클의 경우 프로시저에서 SELECT 한 결과를 mybatis 통해 HashMap으로 받는 것이 불가능한걸까요? 강의에서 앞으로도 프로시저를 계속 사용할 것이라고 말씀하셨는데 이것 때문에 실습 따라가기에 불편함이 있을까봐 걱정입니다. 친절하고 자세한 답변 기대하며 미리 감사드립니다.
Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부
안녕하세요 강사님 StepVerifiter 관련된 내용 중에 해당 2개의 메서드 사용법이 어떻게 다른지 잘 이해가 가지 않아서 질문을 드리게 됐습니다. .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofHours(12))) .thenAwait(Duration.ofHours(12)) 1번의 경우 시간을 당겨서 테스트를 진행하고, 2번의 경우 시간을 기다려서 테스트를 진행하다는 것으로 이해를 했습니다. 그런데 2개의 메서드 모두 동일한 테스트 결과를 얻을 수 있는데, 굳이 해당 메서드들을 구분해서 사용해야 할까요? 아니면 각각의 메서드가 유용한 케이스가 따로 있는 걸까요 ? 혹시 각각의 메서드를 따로 사용해야 하는 케이스가 있다면, 어떤 경우에 어떤 메서드가 더 유용한지 조금 더 자세한 예시를 알려주신다면 정말 큰 도움이 될 것 같습니다.
강의 영상에서 test.mv .db를 삭제하라 하셔서 rm으로 지웠는데요 다시 시작하라 하셔서 jdbc:h2:~/test 이거로 입력하니 Database "C:/Users/(사용자명)/test" not found, either pre-create it or allow remote database creation (not recommended in secure environments) 로 뜹니다... 결정적으로 이전에는 만들어졌던 t est.mv. db 파일이 안 만들어집니다..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요?예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요?예 [질문 내용] 안녕하세요~ 자바 21 로 선택 후 아래와 같이 프로젝트를 받았는데 빌드오류가 계속 진행돼서 질문합니다. 혹시 어떤 부분이 문제인지 알 수 있을까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요, @Bean을 통해 컨테이너에 빈을 등록할 때 생성되는 인스턴스에 대한 궁금점이 있습니다. 강의 코드에서는 다음과 같이 AppConfig.java 에서 MemberRepository를 new MemoryMemberRepository() 를 통해 매번 생성하여 반환하고, 이를 memberService() 그리고 orderService() 에서 생성하여 호출하고 있습니다. @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService() { return new OrderServiceImpl(memberRepository(), discountPolicy()); } 여기서 제가 궁금한 점은 memberRepository() 를 통해 매번 새롭게 생성되는 MemoryMemberRepository를 호출하는 것으로 예상하고 실제 메모리 참조를 확인해보니 모두 동일한 값을 가지는 것을 확인했습니다. 아래는 코드 중 일부입니다. MemberService, OrderService에 다음을 추가 MemberRepository getMemberRepository(); 아래는 위 메소드를 각 Impl에서 구현한 코드입니다. @Override public MemberRepository getMemberRepository() { return this.memberRepository; } public static void main(String[] args)의 일부 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); MemberService memberService = applicationContext.getBean("memberService", MemberService.class); OrderService orderService = applicationContext.getBean("orderService", OrderService.class); MemberRepository repo = applicationContext.getBean("memberRepository", MemoryMemberRepository.class); System.out.println("member Service Repository = " + memberService.getMemberRepository()); System.out.println("order Service Repository = " + orderService.getMemberRepository()); System.out.println("member repository bean = " + repo); 실행 결과 member Service Repository = hello.core.member.MemoryMemberRepository@5552768b order Service Repository = hello.core.member.MemoryMemberRepository@5552768b member repository bean = hello.core.member.MemoryMemberRepository@5552768b 이에 대해 다음과 같은 두 가지 질문이 있습니다. memberRepository 는 new를 통해 매번 새롭게 생성하지만 같은 주소를 가지는 이유가 스프링 컨테이너 내부에 빈으로 등록되었기 때문인지 궁금합니다. 만약 인스턴스마다 다른 값을 가지고 있어야 하는 경우가 있다면, 필요에 따라 @Bean 을 통해 생성 해야 하는건지 궁금합니다. 감사합니다. 제가 강의 도중 궁금증이 생겨 확인, 질문했었는데 내용 후반부에 싱글톤과 관련된 설명이 있군요... 머쓱..
안녕하세요. 강의 항상 잘 보고 있습니다. SimpleJpaRepository 구현 클래스의 save 메서드 안에 em.merge가 있습니다. 결국 엔티티를 변경할 일이 있으면 save 메서드를 사용하지 말고 변경 감지를 사용하라는 말씀이 맞으신가요? save 메서드는 새로운 엔티티를 저장할 때만 사용하라는 것으로 이해하면 될까요?
1:57 부터 status의 속성이 의미하는게 무엇인지 궁금합니다. 저장이 성공했다는 의미로 값을 true 로 설정하신 걸까요? 강사님께서 "남는애들은 쿼리파라미터 형식으로 들어가게 된다." 라고 하시는데 남는 애들 -> 속성들 인 것 같고 근데 그게 왜 true로 리턴되는지 모르겠습니당.... 왜 굳이 추가하신 건가요?
코드를 맞게 쳤는데 메뉴 이름중 일부만 검색했을때 나오질 않네요 <!-- 검색에 의한 쿼리 --> <select id="doSearch" resultType="hello.sailing.v2.vo.Order_list"> SELECT no, coffee_no, coffee, price, cust_id, name, DATE_FORMAT(reg_day,'%Y.%m.%d') AS reg_day FROM order_list WHERE 1=1 AND reg_day >= DATE_FORMAT( #{strStartDate},'%Y%m%d') AND reg_day < DATE_ADD(DATE_FORMAT(#{strEndDate},'%Y%m%d'), INTERVAL +1 DAY) <if test="strCoffee != 'ALL'"> AND coffee like CONCAT(#{strCoffee},'%') </if> <if test="strName != 'ALL'"> AND name like CONCAT(#{strName},'%') </if>
코드를 똑같이 작성하였음에도 V3,V4가 작동되지 않습니다 버전이 바뀜에 따라 기능이 작동하지 않는건지 아니면 다른 문제인건지 확인해주시면 감사하겠습니다! @Slf4j @Controller public class RequestParamController { @ResponseBody @RequestMapping("request-param-v3") public String requestParamV3( @RequestParam String username, @RequestParam int age) { log.info("username={},age={}", username, age); return "OK"; } } @ResponseBody @RequestMapping("request-param-v4") public String requestParamV4(String username,int age) { log.info("usernameV4={},ageV4={}", username, age); return "OK V4"; // <- @ResponseBody }
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) log.error("afterCompletion error!!", ex); 여기서 왜 ex에 대한 정보는 출력이 되지 않나요? [질문 내용] 여기에 질문 내용을 남겨주세요.