묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepository querydsl 적용 질문입니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]querydsl 강의를 듣고 복습하면서 적용해보고 있는데, memberRepository 부분에서 @RequiredArgsConstructor을 사용했더니 compileJava부분에서 em의 초기값이 없다는 예외가 발생했습니다. 생성자를 활용해서 해결되긴 했는데 그 전의 코드에서 왜 작동이 안되었는지 궁금해서 질문드립니다.@RequiredArgsConstructor을 사용한다던가 하는 더 간단한 방법도 있는지 궁급합니다.코드파일입니다https://drive.google.com/file/d/1ezwW4PrReG_BX-lmAC1uiOL8Syk3GbFW/view?usp=sharing
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
url을 못찾겠답니다...
이거 컨트롤러안에있는 파일에서 import가 자동으로 되지도 않고 html에서는 url이 등록되지도 않았다하네요 실행시키면 Null만 받아오네요
-
해결됨실전! 스프링 데이터 JPA
3계층 질문
강의에선 서비스 계층 코드가 없는 관계로 컨트롤러에서 리포지토리를 바로 가져와 사용하셨는데요실제로 서비스 계층을 구현하지 않은 상태에서 컨트롤러에서 리포지토리를 바로 사용하는 경우도 있는지 궁금합니다
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MEMBER -ORDER 테이블 에서 JoinColumn 에 관련
Member.java@OneToMany @JoinColumn(name="member") private List<Order> orders = new ArrayList<>();Order.java@ManyToOne @JoinColumn(name="member_id") //맵핑할 컬럼 private Member member;Member 의 joinColumn 은 member 객체 자체이고 Order의 joinColumn은 db의 컬럼 명인데 member 의 joinColumn 을 member_id, 즉 db의 컬럼명으로 또는 그냥 id 라고 하면 안되나요? 안된다면 이유도 알려주시면 감사하겠습니다!!
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
설정 클래스 생성
HttpSecurity 빈이 설정 클래스를 생성한다는 게 SecurityConfigurer 타입 객체들을 생성한다는 건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링부트 실행이 안됩니다.
[질문 내용]강의 보면 이상한게 떠서 그거 누르면 실행이 되던데 저는 그런게 뜨지않아요 도와주세요
-
미해결실전! 스프링 데이터 JPA
테스트 코드 문의
DTO 쿼리 작성 시 join fetch로 작성하는 경우는 에러가 발생하고 join으로 작성하는 경우에는 에러가 발생하지 않았는데요. join fetch의 개념은 결국 지연로딩을 작동시키지 않고 한 번에 연관된 것들 다 가져온다는 것인데 왜 여기선 안 되는 것인지 궁금합니다.엔티티 @Query문하고 DTO @Query 테스트 코드를 돌렸는데 서로 영향을 미쳐 테스트가 실패라고 뜹니다. @Transactional을 붙여 롤백이 되게끔 하여 해결은 했지만 궁금한 점이 있습니다. 스프링 데이터 JPA 테스트를 돌릴 때 @SpringBootTest 어노테이션 붙이면 자동으로 롤백이 되는 것이 아닌가요?package study.springdatajpa.repository; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; import study.springdatajpa.domain.Member; import study.springdatajpa.domain.Team; import study.springdatajpa.dto.MemberDto; import java.util.List; @SpringBootTest class MemberRepositoryTest { @Autowired private MemberRepository memberRepository; @Autowired private TeamRepository teamRepository; @Test @Transactional void testQuery() { Member m1 = new Member("AAA", 10); Member m2 = new Member("BBB", 20); memberRepository.save(m1); memberRepository.save(m2); List<Member> result = memberRepository.findUser("AAA", 10); Assertions.assertThat(result.get(0)).isEqualTo(m1); } @Test @Transactional void testDtoQuery() { Team team = new Team("teamA"); teamRepository.save(team); Member m1 = new Member("AAA", 10); Member m2 = new Member("BBB", 20); m1.setTeam(team); m2.setTeam(team); memberRepository.save(m1); memberRepository.save(m2); List<MemberDto> dtoList = memberRepository.findUserDto(); Assertions.assertThat(dtoList.size()).isEqualTo(2); } }
-
미해결실전! 스프링 데이터 JPA
양방향 매핑 제거시 - fetch join/enityGraph
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 아니요2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 모르겠습니다..ㅜㅜ 안보이더라고요3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/[질문 내용]강사님 fetch join과 entityGraph에 대해서 공부를 해서, 연관된 객체에 대해서 가져올때, fetch join을 통해서 한방에 가져오는 법을 배웠는데, 만약 양방향 매핑을 풀고, 단방향 매핑으로 코드를 작성하려고 하는데, @Data @NoArgsConstructor @Entity(name ="team") public class TeamJpaEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name ="team_id") private Long id; private String name; @OneToMany(mappedBy = "myTeamId") private List<MemberJpaEntity> memberJpaEntityList = new ArrayList<>(); } ---------- @Data @NoArgsConstructor @Entity(name = "user") public class MemberJpaEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name ="user_id") private Long id; private String name; @Column(name = "team_id") private Long myTeamId; }일때, 양방향 매핑을 끊어서, 단반향 매핑만 되게끔 수정을 했는데, 이렇게 되면 패치조인을 못 하지않나여? 궁금해서 질문을 올립니다...ㅜ 순환참조를 삭제하려고 없애고, TeamJpaRepository.findById(teamId)로 팀이 필요할때 조회할 수 있게 만들었는데, 한방으로는 못 가져오나여?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Run JpashopApplication 시간 초과
안녕하세요, 마지막 커리큘럼 웹계층 강의를 따라하면서 JpashopApplication.main()을 실행시켰는데 5분이 지나도 계속 실행중이고 콘솔도 어느 지점에서 멈춰서 해결방법 질문드립니다.https://drive.google.com/file/d/1vK3NAMKt6E7nTU69Rb0F6qELZEF3pCwU/view?usp=drive_link -실행 중지시키면 아래와 같이 뜨는데 제가 빨간색 강조해놓은 부분이 원인일까요? Execution failed for task ':JpashopApplication.main()'.> Build cancelled while executing task ':JpashopApplication.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.> Get more help at https://help.gradle.org.Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.8/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD FAILED in 5m 56s3 actionable tasks: 2 executed, 1 up-to-date
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
19강 질문
1. 유저 컨트롤러에서 jdbc를 설정해준적이 없다고 하셨는데 여기서 jdbc클래스설정 이라는게 무슨말인가요?jdbc에 대한 생성자를 말하는건가오?생성자를 설정안해 줘서 탬플릿을 설정안해준거라면 userservice나 userRepositry 모두 다 템플릿에 대해 설정 안해줬는데 저 둘은 스프링빈도 아닌데 어떻게 jdbc템플릿 가져온건가요
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
H2 연결이 안되는 것 같습니다
현재 H2 database에 연결하고 목록을 확인하려고 합니다. 그런데 자꾸 회원목록을 들어가거나 회원가입을 실행시 whitelabel 에러가 뜹니다. 제 생각으로는 H2 DB와의 연결 상태때문인 것 같은데, spring boot 실행중에는 아무런 에러가 뜨질 않습니다. 스프링 3.0이상을 사용해서 H2버전 문제인것 같아 1.4.200에서 최신버전을 써보았는데도 똑같은 결과가 나옵니다.밑에 프로젝트 파일 링크 공유드립니다.https://drive.google.com/file/d/1Wg2OAv5FmdglAZDtUCYDypa1cprIUTda/view?usp=drive_link
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderServiceTest 실패
OrderServiceTest에서 assertEquals("주문 가격은 가격 * 수량이다")에서 실패가 뜨는데 원인을 찾기 어려워 질문 드립니다. 26000원이 나와야 하는데 0원이 나와서.. 총 가격을 구하는 for문이 안 돌아갔나 싶은데 코드에 오류는 없는 것 같아서 원인을 찾기 어렵습니다. https://drive.google.com/file/d/1SSJFsd6F2hikp7T3MONt5QvklxY-EX3B/view?usp=sharing
-
미해결스프링 시큐리티 OAuth2
강의에서 사용하는 keycloak 버전인 19.0.1 다운로드 URI 공유
강의를 매끄럽게 따라하려면 똑같은 keycloak 버전을 사용하셔야 합니다.2x.x.x 버전 사용 시 openid를 강제로 사용해야 할 수 있습니다. 다운로드 URI : https://github.com/keycloak/keycloak/releases/download/19.0.1/keycloak-19.0.1.tar.gz
-
미해결스프링 시큐리티 OAuth2
Missing parameter: code 에러
Oauth 2.0 User 모델 소개(2)영상에서 assessToken 호출을 위한 과정을 진행하는데 발생한 문제입니다.keycloack 버전이 달라 발생한 문제인지 질문드립니다.현재 keycloack 버전 21.1.2 입니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@Transactional이 필요한곳과 필요없는곳
안녕하세요 service 관련 코드를 공부하다가 질문이 생겨서 문의드립니다.제가 지금까지 봤던 코드들은 @Transactional(readOnly = true) 는 Read할 때 사용을 하고 @Transactional은 Read를 제외한 CUD일 때 사용을 한다고 알고있는데, 인터넷을 찾아보니 "모든 CUD 관련 코드에 @Transactional을 무분별하게 사용하면 성능에 저하가 올 수 있다. 트랜잭션은 묶음의 처리입니다. 단건의 INSERT, DELETE, UPDATE 는 Transaction 이 필요하지 않습니다." 라고 블로그에서 보았습니다. 모든 CUD 관련 코드에다가 @Transactional을 붙이면 안되는건가요? 또한 @Transactional(readOnly = true) 는 Read 관련 코드에 붙이는게 필수는 아닌가요? 어떤 방식으로 코드를 짜는게 좋은 코드인지 궁금합니다.
-
미해결스프링 시큐리티 OAuth2
프론트엔드 + 서버 oauth2 연동
안녕하세요, 좋은 강의 감사합니다. 현재 제가 개발중인 react 로 된 SPA 어플리케이션이 있는데요, 프론트엔드에서 직접 authorization server 로 access token 을 가져오자니 페이지가 새로고침 될때 날라가는 현상이 발생합니다. 이를 localStorage, sessionStorage, cookie 등에 저장하는것도 안전하지 않아서 (혹시 안전하게 하는 방법이 있나요?)아예 "로그인"만 서버쪽에서 수행하고 access token, refresh token 을 프론트로 전달해줘서 refresh token 만 httpOnly Cookie 에 넣으려고 합니다. 이제 새로고침 될때마다 서버에 access token 요청을 refresh token 으로 한다음, 그 access token 을 사용하려고 합니다. 혹시 이 같은 방식이 쓰이는지 알 수 있을까요? 아니면 추천해 주시고 싶은 방식이 있으신가요? 2. 서버 사이드 view 를 통해 로그인만 oauth2Login 으로 수행하고, 로그인 후 나머지는 SPA 프론트엔드로 리다이렉트 가 가능한가요? 혹은 이렇게 쓰기도 하나요?
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
mutableListOf
강의를 들으면서 코틀린 문법도 같이 병행하면서 듣고있는데 이부분 질문을 하고 싶습니다!mutableListOf 로 감싸줘서 넣어져야지 코드가 오류 없이 되는지 궁금합니다. jpa 특성상 그런건가용?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
붙여넣기 후 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 순수 JDBC영상 7분30초 쯤 파일참고해서 붙여넣기를 했더니 빨간줄이 어마무시하게 많이 그였습니다.원인좀 알려주실 수 있을까요https://drive.google.com/file/d/16hfb328rA7fdLiE6oxILNIjL-gpDYSPL/view?usp=sharing
-
해결됨인프라공방 - 그럴듯한 서비스 만들기
validbit
valid bit 1은 메모리에 페이지가 존재하는것 아닌가요?
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
강의자료에서 수정되어야 될 부분이 있네요.
강의자료 DelegatingPasswordEncoder 빈 정의에서알고리즘 지정생성에서@Bean public PasswordEncoder passwordEncoder() { String encodingId = "pbkdf2"; Map encoders = new HashMap<>(); encoders.put(encodingId, Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_8()); DelegatingPasswordEncoder delegatingPasswordEncoder = new DelegatingPasswordEncoder(encodingId, encoders); return delegatingPasswordEncoder;} 에서 String encodingId = "pbkdf2"; 가 String encodingId = "pbkdf2@SpringSecurity_v5_8""; 로 수정되어야 되거나 아님 encoder 할때 버전을 5_5로 바꾸어야 하네요.한참 헤메이다 저처럼 헤메이지 말라구 올려봅니다.