묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@ManyToOne, @OneToMany연관관계 조회 시 순환참조가 일어나는 부분은 어떻게 해결하여야 하나요?
안녕하세요!다름이아니라 제가 수업을 따라해보던 중 @ManyToOne, @OneToMany으로 연관관계를 맺은 두개의 테이블을 조회 시 아래와 같은 에러를 확인하였습니다.@Entity @Table(name = "MEMBER") @Getter @Setter public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") Long id; @Column(name = "NAME") String name; @OneToMany(mappedBy = "member") List<Post> posts = new ArrayList<>(); } @Entity @Table(name = "POST") @Getter @Setter public class Post { @Id @GeneratedValue @Column(name = "POST_ID") Long id; String title; String description; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "MEMBER_ID") Member member; }Could not write JSON: Infinite recursion (StackOverflowError);제 생각에는 한쪽에서 다른쪽 테이블을 조회 시 순환참조가 일어나는것 같다고 생각하는데 이러한 경우에는 어떻게 처리를 하여야 하는지 궁금합니다.찾아보니 @JsonIgnore를 사용하는 방법이 있는것 같기는한데 올바른 방법이 아닌것 같아서 여쭈어봅니다.좋은강의 감사합니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
./h2.sh 실행시 퍼미션 에러가 뜨네요..^^ 참고하세요
-bash: ./h2.sh: Permission denied bin 폴더 경로에 가셔서 터미널 여시고 chmod 755 h2.sh <-- 입력하시면 됩니다. 참고로 터미널에서는 h2 DB 종료 단축키는 control + c 입니다.
-
미해결예제로 배우는 스프링 입문 (개정판)
Util 클래스를 사용하는 방법 질문드립니다.
전역으로 사용되는 Util 클래스를 어떤 방식으로 가져다 쓰는 것이 나은지 고민해보다가 질문드립니다. 예를 들면 원하는 날짜 형식으로 변화해주는 Util이 필요합니다. 전역에서 해당 Util 클래스의 특정 메소드를 호출하여 사용할 텐데요. 여기서 특정 메소드를 static으로 선언할 수도 있고, Util 클래스를 Bean으로 등록하여 의존성 주입을 받아 사용할 수도 있다고 생각해요. 스프링에서 두 방법의 차이점과 장단점을 정확히 모르겠어서 질문드립니다 !
-
미해결더 자바, 코드를 조작하는 다양한 방법
제네릭을 쓰는 클래스 생성방법은 없나요?
안녕하세요. 강좌 잘 보고 있습니다. 강좌를 보고 실습하고 있는데요. 제가 좀 변태적인 취향인지라... 제네릭한 클래스를 newInstance 를 이용해서 생성하려고 하는데요. 어떻게 해야할지 도통 감이 안잡히네요.
-
미해결예제로 배우는 스프링 입문 (개정판)
과제 진행중인데
아무리바꿔도 html 파일이 바뀌질않아요.. 로그에 에러도 뜨지 않고 html 파일을 다 지워도 처음 시작했던 그대로 나오는데 어떻게 해야하나요
-
해결됨스프링 부트 개념과 활용
[해결] Tomcat 9.x 실행 문제
다음과 같이 코드 추가하시면 Tomcat 9.x 에서 8080포트로 실행 잘됩니다. 기존 코드 tomcat.start();tomcat.getServer().await(); 변경 코드 tomcat.getConnector();tomcat.start();tomcat.getServer().await();
-
해결됨예제로 배우는 스프링 입문 (개정판)
인텔리J 플러그인/테마 관련 문의드립니다.
플러그인이나 테마에 대해서 여쭤봐도 될까요? 1. 혹시 빨간박스로 표시한것처럼, 해당 라인을 색으로 표시해주는 플러그인이 무엇인지 궁금합니다! 2. Console 에서도 이렇게 색으로 표시가 되는데, 플러그인이나 테마 정보를 공유받을 수 있을까요?
-
미해결스프링 데이터 JPA
JsonPathResultMatchers -> ResultMatcher
(혹시라도 Java 8이 아닌 상위버전으로 학습하시는 분들을 위하여...) 28. 스프링 데이터 Common: Web 2부 마지막 부분에 나오는 test 코드 중에 ``` .andExpect(jsonPath("$.content[0].title", is("bbb"))) ``` 부분을 아래와 같이 수정해야 할 것 같습니다. ``` .andExpect(result -> { jsonPath("$.content[0].title", is("bbb")); }); ``` Java 버전이 올라가면서 변경된 부분인 것 같아요. .andExpect가 ResultMatcher만 파라미터로 받는 것 같네요.
-
미해결스프링 부트 개념과 활용
Bean 등록에 실패 한거 같은데 해결해보려 아무리 해도 안되서 질문드립니다.
Description: Field holoman in com.sun.springinit.HolomanRunner required a bean of type 'me.sun.Holoman' that could not be found. Action: Consider defining a bean of type 'me.sun.Holoman' in your configuration. 발생한 에러 로그입니다. 버전 2.1.4 에서 2.0.4 로 변경 후 run 해도 동일하게 발생합니다.. 어디 부분이 잘못 되었을까요..?
-
미해결스프링 기반 REST API 개발
Event 엔티티 설정 관련 문의 드립니다.
Event 엔티티 설정에서 @Data 어노테이션을 사용하지 않고, @EqualsAndHashCode(of="id")를 사용하는 이유가 "상호참조" 시 stack overflow가 발생할 수 있어서 그렇다고 말씀하시는데 상호참조가 어떤걸 의미하는지 좀더 자세히 설명 부탁드립니다.
-
미해결스프링 데이터 JPA
기본 Repository 커스터마이징 했을 경우.. 질문 있습니다.
강사님이 알려주신 방법인 SimpleRepository를 QuerydslJpaRepository로 변경하지 않아도... 테스트가 성공합니다. 혹시 스프링 버전 변경에 따라서 변경된것인지저의 프로젝트에 무언가 오류가 있는것인지 .. 궁금합니다. 현재 제 스프링 버전은 5.1.6 부트 버전은 2.1.4 입니다.
-
미해결스프링 부트 개념과 활용
log4j2적용 관련 질문드립니다.
이전 강의에서 Springboot2부터는 pom.xml에 exclusion없이 Common logging외 에서 SLF4j 또는 Log4j2를 사용할 수 있다고 하셨었는데...이 강의에선 logging을 exclusion하셨는데 둘이 다른 의미의 의존성 관리인가요?
-
미해결스프링 프레임워크 핵심 기술
강의 수강 커리큘럼 부탁드립니다.
안녕하세요. 백기선님의 강의를 듣고 스프링관련 강의를 모두 구매한 주니어 개발자입니다.앞으로 수강할 강의가 '스프링 기반 REST API 개발', '스프링부트 개념과 활용', '스프링 웹 MVC' 이 있는데 어떤 순서로 들어야할지 잘 모르겠어서.. 조언 부탁드립니다.
-
해결됨스프링 웹 MVC
노트 중에...
노트에 보면(이 기능 자체는 스프링프레임워크의 기능임....) 이런 내용이 있는데의존성 추가를 하면 자동으로 컨버터로 등록되는게부트가 아닌 스프링프레임워크의 기능이라는 뜻으로 이해하면 되나요?
-
해결됨자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌
@Autowired 에 대해 질문있습니다.
@Autowired를 멤버변수와 생성자위에 선언하는 방법 두가지를 알려주셨습니다.appContext.xml에서 bean 객체가 여러개일 경우 @Qualifer를 활용하여 에러를 해결할 수 있다고설명하셨는데@Autowired@Qualifer("usedDao")멤버 변수 위에는 선언이 가능하지만 생성자 위에서는 선언이 에러를 일으키드라구요.@Qualifer를 사용하기 위해서는 멤버변수에서만 사용이 가능한가요?
-
미해결스프링 부트 개념과 활용
경고문이 뜹니다.
A context path must either be an empty string or start with a '/' and do not end with a '/'. The path [/] does not meet these criteria and has been changed to []이 경고는 어떻게 해결하면 되나요??? 단순히 '/'만 쓰지않고 뒤에 다른것을 써주면 문제가 해결되나요?그리고 2.1.1RELEASE에서는 톰켓실행이 안되는데2.0.3.RELEASE에는 문제없이 실행이 되는것을 확인할 수 있었습니다.톰켓버전의 문제가 있는것같습니다.
-
해결됨스프링 데이터 JPA
단방향 관계와 양방향 관계 관련되어 문의 드립니다.
@ManyToOne 단방향으로 관계 설정하는 경우와@ManyToOne+@OneToMany를 통해 양방향 관계로 설정하는 경우, DB 상으로 생성된 컬럼이나 데이터가 동일한데 이 두가지에 대한 차이점은 무엇인가요?DB 상에 데이터가 동일한데 굳이 양방향 관계를 사용하는 이유가 궁금합니다.감사합니다
-
미해결스프링 부트 개념과 활용
docker에서 postgres를 사용할 때, role 에러.
기선님께서 올려주신 docker로 postgres사용하는 부분 중에서, su - postgres 명령어를 입력하고 psql spring boot를 하게되면, FATAL: role "postgres" does not exist라는 응답이 나오던데, 기선님도 이런 오류가 있으셨나요? 이 오류가 발생해서 여러가지 찾아본 결과 해결방법으로는 root에서 psql -U keesun springboot를 하게되면, DB에 연결이 되는걸 확인할 수 있었습니다. 추가로, Windows유저는 l을 해서 DB를 확인하면, OWNER가 docker run에서 POSTGRES_USER에서 설정한 유저로 바뀌어 있는 걸 확인했습니다. 혹시, Windows 10으로 이 강의를 보시면서, docker for windows를 통해 docker를 실습하시려는 분들은 이 오류가 발생하면 위에 해결방법을 활용해주세요.
-
미해결스프링 부트 개념과 활용
심각: A child container failed during start
어플리케이션 실행시 아래와같은 메세지가 뜨면서 톰캣실행이 안되는데 어떤부분을 확인해야할까요? 소스코드 어플리케이션 실행시 아래와같은 메세지가 뜨면서 톰캣실행이 안되는데 어떤부분을 확인해야할까요? package com.dope; import org.apache.catalina.Context; import org.apache.catalina.LifecycleException; import org.apache.catalina.startup.Tomcat; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; public class Application { public static void main(String[] args) throws LifecycleException { Tomcat tomcat = new Tomcat(); tomcat.setPort(8080); Context context = tomcat.addContext("/", "/"); HttpServlet servlet = new HttpServlet() { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { PrintWriter writer = resp.getWriter(); writer.println("<html><head><title>"); writer.println("헬로, 톰캣"); writer.println("</title></head>"); writer.println("<body><h1>Hello Tomcat</h1></body>"); writer.println("</html>"); } }; String servletName = "helloServlet"; tomcat.addServlet("/", servletName, servlet); context.addServletMappingDecoded("/hello", servletName); tomcat.start(); tomcat.getServer().await(); } } 에러코드 심각: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/]] at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1420) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) 심각: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/]] at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1420) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)`
-
미해결자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌
안녕하세요 질문있습니다.
The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application오류가 이렇게 나는데..jstl jar파일이 없기 때문에 오류가 난다고 생각하는데요.강사님은 다른 작업 없이 잘되는데, 제가 강사님 따라서 실행하면 이런 오류가 떠서 jar 파일을 web-inf아래 lib 폴더 안에 넣어주면 잘 실행 되는데요, 폴더에 안 넣어주고 바로 실행 해도 잘 되는 비법이 뭔가여