묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
인텔리제이 무료버전 - Servlet 서버 종료 시 에러
현재 인텔리제이 무료 버전을 사용 중이고 여러 해결 방안을 적용해도 서버 종료 시 다음과 같은 오류가 뜹니다.Execution failed for task ':ServletApplication.main()'.> Build cancelled while executing task ':ServletApplication.main()'* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights. Gradle JVM의 경로 지정을 새로 추가해도, 스타터 페이지로 돌아가 처음부터 프로젝트를 새로 생성해도, 오류가 계속 납니다.하지만,하지만 위 사진에서 보시듯이 localhost:8080 서버는 제대로 작동되고 되고 Whitelabel Error Page 도 뜹니다. 그럼 본문과 같은 오류는 무시해도 되나요?
-
미해결스프링 핵심 원리 - 기본편
CoreApplication을 실행 후,테스트 코드까지 같이 실행되어 문제가 발생했습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]CoreApplication을 실행하면 테스트 코드 속 내용까지 실행되는 것 같습니다...1. BeanDefinitionOverrideException 오류CoreApplication 실행 후 다음과 같은 오류가 떴습니다.BeanDefinitionOverrideException: Invalid bean definition with name 'rateDiscountPolicy' defined in class path resource [com/example/core/beanfind/ApplicationContextExtendsFindTest$TestConfig.class]해당 ApplicationContextExtendsFindTest 테스트 파일 속 TestConfig의 @Configuration을 제거하자 정상 작동 되었습니다.2. 1번 문제 해결 후 로그 보니 NetworkClient 관련 테스트 로그가 뜹니다.위 사진을 보면 앞에서 lifecycle 강의할 때 쓴 테스트 코드가 실행돼서 `call: http://hello-spring.dev message = 초기화 연결 메시지`같은 것이 출력된 것으로 추측하고 있습니다.결론: 이처럼 테스트 코드까지 실행돼서(제 추측) 문제가 생겼고, 앞으로 진행하면서도 에로사항이 될 것 같습니다.이를 어떻게 해결하면 좋을지 여쭤봅니다. 프로젝트 파일 링크:https://drive.google.com/file/d/1PFJv9O46d9ny42RcxwIcFQjcoMA2oBK-/view?usp=sharing
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요. 5강, 6강 관련 질문 남깁니다.
안녕하세요. 5강 6강을 수강하던 중 몇 가지 궁금증이 생겨 질문 남깁니다. 5강 GET API에서 사용된 CalculatorAddRequest -> 생성자 O, getter O6강 POST API에서 사용된 CalculatorMultiplyRequest -> 생성자 X, getter O 1. GET API - CalculatorAddRequest에서 number1, number2 필드에 왜 final 키워드가 필요한가요?2. GET API - CalculatorAddRequest에서 생성자를 없애면 값이 0으로 바인딩되던데 왜그럴까요?3. POST API - CalculatorMultiplyRequest에서는 왜 생성자가 없어도 값이 바인딩되는 걸까요? @RequestBody 어노테이션 때문일까요? 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
servlet이 없으면 소켓프로그래밍을 개발자가 매번 직접 구현해야하는건가요?
serlvet이 하는중에tcp/ip연결대기소켓연결, 소켓종료..가 있었습니다. 위의 두가지 과정은 소켓프로그래밍할때 해봤던것같아서요..왜 소켓프로그래밍을 배우기만하고 실제 통신할때 안쓰나 궁금하기도 했었는데 그 과정을 서블릿이 알아서 해주는건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
H2 데이터베이스 설치
위와 같이 강의랑 똑같이 했는데 연결이 안돼요ㅠ 주소도 localhost로 바꿔서 해봤는데도 연결이 안됩니다ㅠ
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JDBC강의 - SpringConfig : 'MemberService()' cannot be applied to '(com.example.demo.repository.MemberRepository)'
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예[질문 내용] 'MemberService()' cannot be applied to '(com.example.demo.repository.MemberRepository)' error: constructor MemberService in class MemberService cannot be applied to given types; return new MemberService(memberRepository()); ^ required: no arguments found: Membe적용할 수 없다는 에러가 나오는데 왜 나오는지 모르겠네요.찾아보니 저만 이런 것 같은데 뭐가 문제일까요 package com.example.demo.config; import com.example.demo.repository.JdbcMemberRepository; import com.example.demo.repository.MemberRepository; import com.example.demo.repository.MemoryMemberRepository; import com.example.demo.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; @Configuration public class SpringConfig { @Autowired DataSource dataSource; @Bean public MemberService memberService(){ return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository(){ //return new MemoryMemberRepository(); return new JdbcMemberRepository(dataSource); } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
FindByName get() 에러
에러가 나서 작동이 안됩니다ㅠ
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
빈 초기화 시 트랜잭션 적용
안녕하세요,강의 내용 중, "@PostConstruct 메서드에 트랜잭션을 적용할 수 없는 이유는 빈의 초기화 코드가 먼저 실행되고 나서 트랜잭션 AOP가 적용되기 때문"이라는 부분에 대한 질문입니다.테스트 메서드에 추가적인 로깅을 해보니 ApplicationContext 속 Hello 빈이 프록시 객체임을 확인할 수 있었습니다. 그런데 이처럼 컨테이너에 프록시 객체로 등록되었다는 것은 이미 해당 빈의 초기화 시점에 @Transactional 어노테이션을 인식했기 때문인 것으로 이해했습니다. 그렇다면 초기화 시점에 해당 빈이 트랜잭션 적용 대상이라는 것을 알고있다는 것인데, 어째서 트랜잭션 AOP가 작동하지 못하는 건가요?컨테이너에 프록시 객체로 등록되는 것과, 실제 트랜잭션 AOP 적용은 별개의 문제인건지 궁금하네요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
<span th:text="@{hello world!}"></span>
<span th:text="@{hello world!}"></span></li> 이렇게 입력해도 오류 없이 나오는데이렇게 사용해도 문제 없을까요?
-
해결됨스프링 핵심 원리 - 기본편
스프링 컨테이너 생성시 타입
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);이렇게 생성 타입을 ApplicationContext로 하는 것과 AnnotationConfigApplicationContext로 하는 것 차이와 어떤 방법이 더 나은지 알 수 있을까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
application.yml 만들고 설정하기 부분 에러 질문입니다.
다음과 같이 에러가 발생하는데, 이게 왜 그런지 이유를 모르겠습니다.
-
미해결스프링 핵심 원리 - 기본편
discount 에 대해서.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. discount 메서드가 제가 제대로 이해한게 맞나요?public int discount(Member member, int price, String discountCode) { DiscountPolicy discountPolicy = policyMap.get(discountCode); // map 에서 해당 key 값을 주입 System.out.println("discountCode = " + discountCode); System.out.println("discountPolicy = " + discountPolicy); return discountPolicy.discount(member,price); }DiscountPolicy discountPolicy = policyMap.get(discountCode);이 부분이 policyMap 에 있는 key값이 스프링 빈 이름이고 그에 해당하는 value를 가져와서 부모인 DiscountPolicy discountPolicy 에 구현체인 fix나 rate 값을 넣고 discountPolicy.discount(member,price); }fix나 rate discountPolicy 를 실행하기 위한 값member,price 값을 넣어주는 메서드가 맞을까요 ? 2. list, policies를 이용한 discount 실행 시 코드 DiscountService discountService = ac.getBean(DiscountService.class);실행 시 DiscountService에 있는 출력 결과가 fix는 key, value 값을 제대로 조회해 주는데 policyMap = {fixDiscountPolicy=hello.core.discount.FixDiscountPolicy@246f8b8b, rateDiscountPolicy=hello.core.discount.RateDiscountPolicy@278bb07e}rate의 경우 value 만 출력이 되는데 private final List<DiscountPolicy> policies;policies를 사용 시 어떻게 코드를 짜야 할까요 ??int listNum = 0; if(discountCode == "fixDiscountPolicy"){ listNum = 0; }else{ listNum = 1; } DiscountPolicy discountPolicy = policies.get(listNum);list 등록 순서를 알아서 이렇게 짜긴 했는데 더 간단한 방법이 있나 질문 남깁니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
jar 빌드시 오류가 뜹니다
jar 빌드 부분에서 Build Failed라고 뜨는데 원인이 무엇인지 잘모르겠어요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드 및 실행 질문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 이해한 것이 맞는지 확인 차 질문 드립니다.빌드하고 실행하기 영상에서 cmd 창에 ./gradlew build 명령어를 통해 파일을 빌드하고 실행하였습니다 따라서 폴더에 build 파일이 만들어졌고 외부에 배포할 때는 이것을 사용한다고 배웠습니다. 이와 같이 cmd 창에서 빌드하고 실행한 것과 intellij idea 내에서 Application을 실행한 것이 위치만 다르지 같은 의미일까요?말을 좀 이상하게 했는데 둘 다 빌드하고 실행하는 역할을 하는 것이 맞는지 궁금하여 질문 드립니다. 답변 부탁드립니다. 감사합니다
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
34강 조회수 증가가 새로고침을 해야만 되네요
있는 그대로 타이핑 하고 업뎃까지 한다음에 실행을 해주었는데 열고닫고 할때는 조회수가 증가가 안되지만 새로고침을 해야만 증가가 되네요 왜그러는건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
ArgumentResolver가 어떻게 사용되는지를 보고싶어요
customArgumentResolvers로 검색을 해보면 customArgumentResolvers을 사용해서 무언가 처리를 하는곳이 없는것같은데.. 어디서 처리를하는걸까요 저는 이 그림에서 1번의 과정을 눈으로 확인하고 싶은거예요RequestMapping핸들러 어댑터는 handle이라는 메서드도 가지고 있지 않아서.. 어떻게 핸들러를 호출하는지도 잘 모르겠네요
-
미해결스프링 시큐리티 OAuth2
무한리디렉션 궁금증
안녕하세요 선생님 강의 잘듣고 있습니다 오늘 처음으로 spring 시큐리티와 keycloak 와 사용해서 간단한 RestController 을 만들어서 keycloak 로 로그인하는 강의를 들었는데 궁금점이 생겼습니다 applition.yml redirect 구성하실때 http://localhost:8081/login/oauth2/code/keycloak이 주소가 시큐리티 ouath2 로그인 고유 주소인가요? 제가 테스트한다고 oauth2 에 다른 문자열을 넣고 돌리면 리디렉션이 너무 많다고 크롬 , 엣지에서 오류가 발생합니다 ex1) clientId - OAuth2-client-appredirectUri=http://localhost:8081/login/oauth2/code/keycloakex2)clientId - OAuth2-client-appredirectUri=http://localhost:8081/login/OAuth2-client-app/code/keycloak 이렇게 비교를 해보았는데 1번은 로그인이 잘되고 2번은 계속 무한 리디렉션이 나옵니다 그래서 ex1) 번을 크롬 개발자 도구로 쫒아 가보니 1) http://localhost:8081/oauth2/authorization/keycloak status :302 Location: http://localhost:8080/realms/spring-security-OAuth2/protocol/openid-connect/auth?response_type=code&client_id=OAuth2-client-app&scope=openid%20email%20profile&state=wNz-VZFRvu_Nr8KUFYjRshELNLOFbUZVO9vWdcEQrs4%3D&redirect_uri=http://localhost:8081/login/oauth2/code/keycloak&nonce=ehS4VAjQJBrDf7APtHtUbWuzwdOnCJAOd8BhRhSohoU 2) http://localhost:8080/realms/spring-security-OAuth2/protocol/openid-connect/auth?response_type=code&client_id=OAuth2-client-app&scope=openid%20email%20profile&state=wNz-VZFRvu_Nr8KUFYjRshELNLOFbUZVO9vWdcEQrs4%3D&redirect_uri=http://localhost:8081/login/oauth2/code/keycloak&nonce=ehS4VAjQJBrDf7APtHtUbWuzwdOnCJAOd8BhRhSohoUstatus : 302 Location: http://localhost:8081/login/oauth2/code/keycloak?state=wNz-VZFRvu_Nr8KUFYjRshELNLOFbUZVO9vWdcEQrs4%3D&session_state=0e8d5564-fa24-4521-9bd9-bd931d42beb7&code=58d084f3-272e-4e31-ad4d-edc808fde122.0e8d5564-fa24-4521-9bd9-bd931d42beb7.e3344d0f-ca0d-44fd-8993-08b7b90ca190 3) http://localhost:8081/login/oauth2/code/keycloak?state=wNz-VZFRvu_Nr8KUFYjRshELNLOFbUZVO9vWdcEQrs4%3D&session_state=0e8d5564-fa24-4521-9bd9-bd931d42beb7&code=58d084f3-272e-4e31-ad4d-edc808fde122.0e8d5564-fa24-4521-9bd9-bd931d42beb7.e3344d0f-ca0d-44fd-8993-08b7b90ca190status : 302 Location: http://localhost:8081/ 스프링 시큐리티 안에서 oauth2 가 가지는 고유의 엔드포인트 라고 생각을 해야 하는게 맞는거겠죠? 무한리디렉션이 생기는 이유는 솔직히 모르겠습니다 아마 로그인 권한은 획득했는데.. 그 이후는 잘 모르겠습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
입문강의 안듣고 이 강의 봐도 문제없을까요?
입문강의에만 있는 내용이 있을까해서요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트실행하면 오류가납니다
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 테스트 작성만하면 이런오류가나네요무슨문제일까요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
member, order 간에 연관관계를 입력할때 왜 둘다 입력해줘야 하나요?
1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 아니오[질문 내용]이전 도메인 설계 강의 듣기로 연관관계에 있는 두 엔티티의 관계를 변경하려면, 주인엔티티의 값을 변경하면 된다고 하셨고, mappedBy 가 선언된 종속(?)엔티티는 값을 변경하더라도 연관관계가 변경되지 않는다고 하셨던것 같은데요. 그럼 연관관계를 설정할때 주인엔티티에만 설정해주면 되지 않나요? 이 강의에서 나오는 연관관계 메소드에서는 Order 엔티티에도 member를 세팅해주고, Memeber 엔티티의 List<Order>에도 order 를 add해주도록 되어 있어서 왜 둘다 세팅하는지 문의드립니다.