묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
연관관계 편의 메서드
JPA 활용편에서 간단하게 상품 댓글 기능을 추가해봤습니다.Item과 ItemReply는 일대다 양방향 관계이고, Member와 ItemReply도 일대다 양방향 관계입니다.< ItemReply 엔티티 >< ItemReply의 생성 메서드 >< ItemReply에 있는 연관관계 편의 메서드 >< Item 엔티티 >< Member 엔티티 > 이렇게 한 뒤, 서비스 코드를 만들고 테스트 코드를 짰습니다.근데 여기서 제가 생각한 흐름은 ItemReply를 저장할 때, 연관관계 편의 메서드에 의해서 List<ItemReply> itemReplies에 ItemReply가 1개씩 저장되는 것이었는데테스트 코드를 짠 뒤 실행해본 결과, 각각의 itemReplies에 ItemReply가 저장되기는 했지만 2개씩 저장이 됐습니다. 그래서 연관관계 편의 메서드에서 List에 추가하는 과정을 주석 처리한 후 다시 실행했는데 제가 생각한대로 동작하였습니다.궁금한 점 1. 연관관계 편의 메서드에서 List에 추가하는 과정이 있을 때, 2개씩 나왔다고 했는데, 1개는 연관관계 메서드에서 추가됐다고 하면 나머지 1개는 어느 부분에서 추가됐는지 모르겠습니다. < Test 코드 >< replyService.reply 메서드 >replyService의 reply 메서드입니다.< ItemReply.createItemReply 메서드 >
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
@Repository 빨간줄
BookMemoryRepository랑 BookMysqlRepository에 @Repository를 모두 붙이면 빨간줄이 강의상에선 나는데 저는 이상이 없는 데 혹시 스프링 버전 차이인건지 궁금합니다.
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
영상에 나오는 브금 출처좀 알 수 있을까요?
노동요로 좋네요ㅇㅅㅇ
-
해결됨토비의 스프링 부트 - 이해와 원리
ApplicationRunner이 생성되지 않는 것 같아요.
return 위에 System.out.println은 실행되는데, return 람다 안에 있는 System.out.println은 실행되지 않는 것 같아요. 어디서 잘못된 걸까요..?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
13강, 12분 50초경 내용 질문 드립니다!
안녕하세요, 강사님 지난 번에는 도움 많이 받았습니다 🙏 아래 사진은 강의 영상입니다! 13강 12분 50초경 내용입니다.new RawMapper 관련 내용인데요! 강사님 강의에서는 자동 완성으로 RawMapper 가 뜨는 것을 확인했습니다!아래 사진은 제 컴퓨터 화면입니다. 위 스크린샷과 같이 RawMapper 가 뜨지 않네요 하하 😅 하여 현재 override 로 넘어가는 절차를 진행하지 못하고 있는 상태입니다!강사님 영상으로 미루어 보건데 아마 스프링 관련에서 제가 뭔가 세팅을 놓쳤거나 인것 같은데, 나름 강사님 영상을 처음부터 다시 살펴보면서 했는데 방법을 못찾겠네요..! 혹시 도움을 좀 부탁드려도 될까요? 😅
-
미해결토비의 스프링 부트 - 이해와 원리
ApplicationContext.refresh() 하는 이유
registerBean 이후 refresh를 하는 이유가 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
수업 정리..
강의 듣고 학습한 내용을 github에 정리하고 싶은데출처를 밝히면 가능할까요?안된다면 하지 않겠습니다.감사합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberService에 @Transactional 붙이는 이유
jpa를 사용하기 이전( 순수jdbc,jdbctemplate)에는 MemberService 클래스에 @Transactional을 안달아줬는데 왜 jpa를 사용하게되면 갑자기 MemberService클래스에 @Transactional 어노테이션을 달아줘야되나요???
-
미해결실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD
port와 adapter에 대해
만들때 쓰셨던 port와 adapter 패턴에 대해 좀 설명해주실수 있을까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
Cause: error: invalid source release: 17
강의대로 진행한 것 같은데 이와 같은 에러가 나옵니다. 혹시 몰라서 jdk17 버전으로 해봤는데 아래와 같이 에러가 나옵니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepositoryTest 에러 질문
package jpabook.jpashop; import org.assertj.core.api.Assertions; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import static org.assertj.core.api.Assertions.*; import static org.junit.Assert.*; @RunWith(SpringRunner.class) @SpringBootTest public class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional public void testMember() throws Exception { //given Member member = new Member(); member.setUsername("memberA"); //when Long saveId = memberRepository.save(member); Member findMember = memberRepository.find(saveId); //then assertThat(findMember.getId()).isEqualTo(member.getId()); assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); } }package jpabook.jpashop; import org.springframework.stereotype.Repository; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; @Repository public class MemberRepository { @PersistenceContext private EntityManager em; public Long save(Member member) { em.persist(member); return member.getId(); } public Member find(Long id) { return em.find(Member.class, id); } }package jpabook.jpashop; import lombok.Getter; import lombok.Setter; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity @Getter @Setter public class Member { @Id @GeneratedValue private Long id; private String username; }MemberRepositoryTest에서 저렇게 오류가 나는데 뭐가 잘못된걸까요ㅠ package jpabook.jpashop; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class JpashopApplicationTests { @Test void contextLoads() { } }그리고 db를 실행시키지 않고 이 테스트를 돌리면 에러가 나는데 H2 db 실행여부랑 테스트 오류랑 상관이 있을까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
강사님 5강 관련하여 질문 드립니다.
안녕하세요. 강의 잘보고 있습니다. 한가지 궁금한 것이 있어 문의드립니다. 아직 자바 문법을 1차 마무리한 초보자인데요. 괜히 자바 문법 관련 내용을 여쭤보는건가 싶어 죄송하네요. 문의사항은 아래에 있는 내용입니다.위 내용에서 CalculatorAddRequest request 가, 어떠한 과정으로 int number1, number 2 에 할당되는지 알 수 있을까요? 만약 너무 범위가 넓다고 생각되어서 답변하기 어려우시면 관련 하여 자바 목차로 말씀해주시면 제가 한 번 학습하고 다시 여쭤보겠습니다. 🙏
-
미해결실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD
속도감..
조금.. 빠른감이 있네여.. ㅠㅠㅎ
-
해결됨Spring Boot JWT Tutorial
sql 에러
@Entity @Table(name = "users") @Getter @Setter @Builder @AllArgsConstructor @NoArgsConstructor public class User { @JsonIgnore @Id @Column(name = "userId") @GeneratedValue(strategy = GenerationType.IDENTITY) private Long userId; @Column(name="userName", length = 50, unique = true) private String userName; @JsonIgnore @Column(name = "userPw", length = 100) private String password; @Column(name = "nickName", length = 50) private String nickName; @JsonIgnore @Column(name = "activated") private boolean activated; // @ManyToMany와 @JoinTable은 User객체와 권한객체의 다대다 관계를 // 일대다, 다대일 관계의 조인 테이블로 정했다는 뜻입니다. @ManyToMany @JoinTable( name = "user_authority", joinColumns = {@JoinColumn(name = "userId", referencedColumnName = "userId")}, inverseJoinColumns = {@JoinColumn(name = "authority_name", referencedColumnName = "authority_name")}) private Set<Authority> authorities;package com.example.jwt_security.entity; import lombok.*; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "authority") @Getter @Setter @Builder @AllArgsConstructor @NoArgsConstructor public class Authority { @Id @Column(name="authority_name", length = 50) private String authorityName; }Hibernate: drop table if exists authority CASCADE Hibernate: drop table if exists user_authority CASCADE Hibernate: drop table if exists users CASCADE Hibernate: create table authority ( authority_name varchar(50) not null, primary key (authority_name) )Hibernate: create table user_authority ( user_id bigint not null, authority_name varchar(50) not null, primary key (user_id, authority_name) )Hibernate: create table users ( user_id bigint generated by default as identity, activated boolean, nick_name varchar(50), user_pw varchar(100), user_name varchar(50), primary key (user_id) )Hibernate: alter table users add constraint UK_k8d0f2n7n88w1a16yhua64onx unique (user_name)Hibernate: alter table user_authority add constraint FK6ktglpl5mjosa283rvken2py5 foreign key (authority_name) references authorityHibernate: alter table user_authority add constraint FKhi46vu7680y1hwvmnnuh4cybx foreign key (user_id) references users insert into users (userName, userPw, nickName, activated) values ('admin', '$2a$08$lDnHPz7eUkSi6ao14Twuau08mzhWrL4kyZGGU5xfiGALO/Vxd5DOi', 'admin', 1); insert into users (userName, userPw, nickName, activated) values ('user', '$2a$08$UkVvwpULis18S19S5pZFn.YHPZt3oaqHZnDwqbCW9pft6uFtkXKDC', 'user', 1); insert into authority (authority_name) values ('ROLE_USER'); insert into authority (authority_name) values ('ROLE_ADMIN'); insert into user_authority (user_id, authority_name) values (1, 'ROLE_USER'); insert into user_authority (user_id, authority_name) values (1, 'ROLE_ADMIN'); insert into user_authority (user_id, authority_name) values (2, 'ROLE_USER');여기서 into 뒤에가 에러가 생기네요 테이블까지는 제대로 생성됐는데 왜그러는지 모르겠어요
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
안녕하세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. api를 이용해서 개발을 하면 웹 뿐만 아니라 다른 곳(앱 등)에서도 사용이 가능한건가요? 사용이 가능하다면 사용 제약이 따로 있을까요? ( 바로 전 강의인 "실전! 스프링 부트 웹 프로젝트 1" 과의 차이점이 궁금합니다 )2.OrderSimpleApiController 에서 @RestController 로 사용하는 이유가 있을까요?3. 연관 관계가 있는 엔티티 중 하나에 @JsonIgnore 을 해줄 때 두 엔티티 중 어떤 엔티티로 기준을 잡으면 되나요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품 주문 시 주문 내역에 값이 들어가 있지 않습니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]상품주문에서 submit을 누르면 다음과 같은 화면이 나옵니다.사진과 같이 코드 48번째 줄을 추가하면 콘솔에 0이 찍힙니다. H2콘솔에는 데이터가 잘 들어가 있는 것 같습니다. 도움 주시면 잘 읽고 해결해보도록 하겠습니다 감사합니다!!!
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JdbcTemplate와 RowMapper질문
public Optional findById(Long id) { List result = jdbcTemplate.query("select * from member where id = ?", memberRowMapper(), id); return result.stream().findAny(); } private RowMapper memberRowMapper() { return (rs, rowNum) -> { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return member; }; } 이 두 함수가 이해가 안되서 질문드립니다 ㅠ rs가 정확히 무엇인지 그리고 memberRowMapper()은 member객체를 반환하는데 어떻게 List로 받을수 있는지 궁금합니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
수업 자료가 따로 없나요?
선생님이 강의 도중에 html 내용 복붙하고 그러는데 강의 자료가 따로 없나요? 저는 일일이 타자쳐서 넣고 있어서요.
-
해결됨토비의 스프링 부트 - 이해와 원리
코틀린으로 강의 따라하시는 분들이 계시다면 참고하세요. no-arg 설정이 필요합니다.
BeanPostProcessor는 매개변수가 없는 no-arg 생성자를 필요로 하는데요, 자바의 경우 굳이 매개변수를 생성자에서 주입하지 않아도 되지만 코틀린의 경우 JPA 엔티티나 현재 강의의 ServerProperties처럼 프로퍼티값을 읽어들여 객체를 생성하는 경우 생성자 파라미터를 보통 사용하실 텐데요,이 경우 따로. noarg 생성자가 만들어지지 않기 때문에 BeanPostProcessor가 디폴트 생성자를 만들어낼 수 있도록kotlin("plugin.allOpen") kotlin("plugin.noArg")을 이용해서 @Component 어노테이션으로 빈에 대한 no-arg 기능을 활성화해야합니다.gradle에서 다음과 같이 plugin을 포함하시구요plugins{ kotlin("plugin.noarg") version "1.7.22" //jpa를 사용하신다면 kotlin("plugin.jpa")에 포함되어 있습니다. } 아래에 Component 어노테이션에서 no-arg가 활성화될 수 있게 해당 부분을 적어주시면 됩니다.noArg { annotation("org.springframework.stereotype.Component") }all-open, no-arg 등의 플러그인에대한 더 자세한 설정에 대해서 궁금하시다면 아래 글을 참고하시면 좋습니다.https://techblog.woowahan.com/2675/
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
assertThat 관련
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]import static org~ 구문 추가 했는데도 계속 이 상태에요. 혹시 몰라서 앞에 Assertions.붙여봤는데도 계속 빨간 상태에요.. 뭐가 문제일까요ㅠ