묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
템플릿 조각 경로
템플릿 조각의 경로를 지정하는 코드에 의문이 생겨서 질문드립니다.아래 2개의 코드는 실제로 돌려보니 같은 동작을 하는데, <div th:replace="~{template/fragment/footer :: copy}"></div> <div th:replace="~{/template/fragment/footer :: copy}"></div>타임리프엔진이 특정 템플릿 조각을 가져올 때, 템플릿 조각이 어디있는지 찾는 경로는 상대경로나 절대경로 같은 개념이 없는 건가요?
-
미해결스프링 핵심 원리 - 기본편
lombok 또는 직접 생성한 생성자가 2개 이상일 경우 Autowired
Lombok의 @RequiredArgsConstructor 등을 사용해서 생성자를 하나만 만들었을 경우에는 생성자가 하나이므로 @Autowired를 생략해도 @Autowired가 적용된다고 이해하였습니다.그런데 Lombok이나 직접 생성자를 추가로 생성해서 생성자가 2개 이상일 경우 Lombok으로 만든 생성자에는 @Autowired 어노테이션을 어떻게 달아주어야하나요?감사합니다.
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
추가로 동시성 해결하는 방법
이번 강의에서 나온 방법말고도 자바에서 동시성을 해결하는 방법 중에 쓰레드 로컬을 사용하는 방법도 있는 것으로 압니다. 근데 이번 재고감소 로직에서 적용해보려고 하니까 코드작성이 잘 안되더라구요. 이번 강의예제에서와 같이 계속 변수값이 변하는 상황에서는 쓰레드 로컬을 적용하기 어려운건가요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
session을 model에 등록하지 않아도 되는 이유
타임리프에서 제공하는 기본 객체들을 사용하는 강의에서스프링 부트 3.0 이후로는 ${#request} 등을 지원하지 않기 때문에, model에 직접 addAttribute 해야한다고 하셨는데요.request, response, servletContext는 add 하는데,session은 add하지 않아도 되는 이유가 무엇인가요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
타임 리프 Expression Basic Objects 질문
안녕하세요. 강의를 듣던중 궁금한점이 생겨 질문 드립니다.강의에서 basic-objects 템플릿의 결과로위와 같이 나왔었는데,스프링 부트 3.0 이후의 코드로 수정하여 실행하였을 때는,위와 같이 나왔습니다.session 에 해당하는 객체가 달라졌는데, 바뀐 이유가 있나요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
게시판 프로젝트 배포시 질문!
게시판 프로젝트 배포를 하려고 데이터베이스 쿼리를 입력하다보니 이렇게 강의속 간단한 db말고 여러개로 연결되어있는 db들을 작성할때도 다 작성해야하는건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
static폴더에 index.html이 실행이 안돼요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.실행엔 문제가 없는데...
-
미해결스프링 핵심 원리 - 기본편
생성자 주입 방식으로 스프링 빈을 전체 가져올 때 이상한 빈이 끼어있어요
List<DiscountPolicy>로 DiscountPolicy를 구현하는 빈들을 생성자 주입 방식으로 받아서 프린트 로그를 찍어봤는데, org.apache.ibatis.binding.MapperProxy 라는애가 끼어있어요 예제와 다른 점은 어플리케이션 컨텍스트에서 빈을 가져온게 아니라 이미 스프링부트로 만든 프로젝트 전체에서 테스트해봤다는 것 뿐인데요, 왜 DiscountPolicy를 구현하지 않은 MapperProxy가 끼어있는지 제거할 방법은 없는지 궁금해요..
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
기댓값 - 406 Not Acceptable 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요.API 예외 처리 - 시작 강의 8:30 경에서 Postman으로 요청을 보낼때, Accept Header를 application/json 으로 설정하고 보내셨는데, HTML 로 응답이 오면 406 Not Acceptable 오류가 발생해야 할 것으로 기대했는데, 서버 내부에서 처리한 예외 오류가 HTML Page로 그대로 반환된 이유가 궁금하여 질문드리게 되었습니다.감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
view resolve할 때 생성된 View에 대한 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]질문 요약:controller에서 viewName을 리턴하고 나서 상황에 대한 궁금증인데요. resolve 후 리턴된 View가 빈인지 빈이면 scope가 어떤지 아니면 단순 개체인지가 궁금합니다. 다음은 제가 문제를 생각하게 된 상황인데요:JSP를 resolve할때 사용하는 InternalResourceViewResolver의 부모인 UrlBasedViewResolver가 있고 resolve한 후 리턴된 View는 스프링 빈이 맞는 것 같은데(UrlBasedViewResolver.applyLifecycleMethods()에서 빈 lifecycle method를 실행하는 것으로 미루어 추측. 실제 applicationContext에 빈 등록하는 코드는 찾지 못했습니다.)그러면 /WEB-INF/file1.jsp /WEB-INF/file2.jsp 두개의 파일이 있고 각각 "file1", "file2"를 리턴하는 controller가 있어서 한 번씩 요청 됐을 때 반환되는 View는 빈인지 빈이면 scope이 어떻게 되는지 궁금합니다.구체적으로:View가 다른이름 싱글턴 빈으로 두개가 생기고 계속 재활용 되는건가요 (가령 file1, file2라는 이름으로 각각 빈이 생기고 BeanNameViewResolver를 써서 재활용 한다든지)아니면 request scoped 빈으로 그때마다 만들어지는건가요아니면 InternalResourceView를 클래스로 갖는 싱글턴 빈 한개만 생기고 resolve 요청 올때마다 setUrl()로 url을 달리해서 넘기는 걸까요(이건 동시성 문제 같은게 있을 것 같습니다)그것도 아니면 반환된 View는 빈이 아닌 단순 개체일까요(빈을 찾아보니 viewResolver나 viewNameTranslator는 있어도 view라고 끝나는 빈이 안 나오긴 했습니다. 스프링 Api doc을 봐도 UrlBasedViewResolver에 보면 createView(), instantiateView(), applyLifecycleMethods() 설명에도 view instance를 반환한다고 만 되어있고 View가 빈이란 언급은 없긴하네요)
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
선생님 질문 있습니다.
이번 강의에서 질문이 있는 부분은 get /user 부분의 controller에서 User에 대한 리스트를 그냥 반환하지 않고 UserResponse라는 DTO를 통해 리스트를 반환하신 이유에 대해 궁금합니다. 스프링부트 프레임워크에서 강제하는 부분인건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
findByName만 오류가 뜨는데 이유를 모르겠습니다..
==============================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]다른거는 다 잘되는데 findByName만 오류가 뜨는데 이유를 모르겠습니다..
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
'new-form' 404 에러 관련 질문
코드 복사 붙이기도 해보고 재작성도 여러번 했는데서블릿 MVC 회원목록만 계속 오류가 납니다..어떤 점이 문제인지 모르겠습니다..
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
안녕하세요 강의를 듣던중에 카카오 지도 api에서 계속 오류가 발생하여 질문을 드립니다
자바스크립트키는 일치하는거같은데 계속 오류2개가 발생하네요 제아이피주소하고 입력한 아이피주소네요
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
선생님 자바에 대한 깊은 이해를 갖고자 하는데 추천해주실만한 책이 있을까요?
안녕하세요 선생님! 프론트엔드를 공부하다 백엔드도 하고자 하여 공부를 하고 있는 대학생입니다. 자바를 좀 더 깊이 있게 공부를 하고자하는데 추천해주실만한 책이나 강의가 있으실까요? (선생님의 자바 강의가 있다면 좋겠지만 없으셔서 질문드리게 되었습니다) 또한, 자바를 어떻게 공부하면 좋을지에 대한 방향도 추천해주시면 감사하겠습니다!마지막으로 개발관련 서적 중 실력 향상에 도움이 되셨던 서적이 있으신가요?
-
미해결스프링 핵심 원리 - 기본편
LogDemoService 에서 ObjectProvider를 쓰는 이유
LogDemoController 부분@Controller @RequiredArgsConstructor public class LogDemoController { private final LogDemoService logDemoService; private final ObjectProvider<MyLogger> myLoggerProvider; @RequestMapping("log-demo") @ResponseBody public String logDemo(HttpServletRequest request) { String requestURL = request.getRequestURL().toString(); MyLogger myLogger = myLoggerProvider.getObject(); myLogger.setRequestURL(requestURL); myLogger.log("controller test"); logDemoService.logic("testId"); return "OK"; } }여기서 이미 요청이후에MyLogger myLogger = myLoggerProvider.getObject();MyLogger타입 빈을 생성해서 myLogger 에 넣어준거 아닌가요??근데 왜 LogDemoService 부분에서@Service public class LogDemoService { //private final ObjectProvider<MyLogger> myLoggerProvider; private final MyLogger myLogger; @Autowired public LogDemoService(MyLogger myLogger) { this.myLogger = myLogger; } public void logic(String id) { //MyLogger myLogger = myLoggerProvider.getObject(); myLogger.log("service id = " + id); } }또 ObjectProvider를 해서 MyLogger 빈을 생성해서 찾아야하는 지 모르겠습니다.ObjectProvider를 사용하지않고 @Autowired를 사용하면 @Autowired가 생성자를 통해 MyLogger 타입으로 검색해서 LogDemoController 부분에서 생성된 myLogger 를 자동으로 의존관계주입하고 그것을필드로 주입 하는 거 아닌가요?? 왜 위에코드처럼 하면 오류가 나는지 모르겠습니다.ScopeNotActiveException: Error creating bean with name 'myLogger' @Autowired 는 싱글톤 빈만 찾을 수 있어서 그런건가요? MyLogger 이 request 스코프이니까??답변 주시면 정말 감사하겠습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
configureHandlerExceptionResolvers을쓰면 안되는이유
왜 스프링이 제공하는 ExceptionResolver가 없어지면안되는건가요?없어지면어떻게되는거죠?
-
미해결실전! 스프링 데이터 JPA
@Transactional
spring jpa에 @Transactional을 사용해야하나요???
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
th:onclick 질문
th:onclick="|location.href='@{/basic/items/{itemId}(itemId=${item.id})}'|" 을 간결하게 하고 싶어서 th:onclick="|location.href='@{/basic/items/${item.id}}'|"이렇게 해봤는데 400에러가 뜨더라구요 onclick은 간결 표현식이 안되나요?
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
배포 질문!!
안녕하세요 강의 잘 듣고 있습니다!!강의에서 배포를 위해 Java, git, mysql 이렇게 세가지 프로그램을 설치했는데 만약 데이터베이스를 oracle을 사용한다면 mysql이 아닌 oracle을 설치하면 되는걸까요?? 그리고 스프링부트의 dependencies를 통해 여러가지 라이브러리들이 자동으로 설치되는데 jar파일을 EC2에서 실행하면 자동으로 똑같이 라이브러리들(mybatis, websocket 등등)이 설치되는게 맞는걸까요?? 한번 시도해보고 싶어서 질문 드립니다!!