inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

restSecurityFilterChian에서 addFilterBefore와 authenticationManger 질문

미해결

스프링 시큐리티 완전 정복 [6.x 개정판]

httpSecurity.formLogin()을 설정해주지 않으면, securityFilterChain에 UsernamePasswordAuthenticationFilter가 없지 않나요? restAuthenticationFilter를 UsernamePasswordAuthenticationFilter 앞에 추가할 수 있나요? restAuthenticationFilter에서 authenticationManager를 사용할 수 있도록 설정해주었는데, httpSecurity에 또 세팅해줘야 하는 이유가 있는걸까요?

  • spring
  • spring-boot
  • spring-security
  • security
  • web-security
정민교 댓글 1 좋아요 0 조회수 234

aws 비용관련 문의

해결됨

인프라공방 - 그럴듯한 서비스 만들기

학습을 진행하다보니 aws에서 비용청구가 계속해서 진행되고있는데요. ㅠㅠ ec2의 비용청구를 중지하려면 인스턴스만 끄면 해결이 되는 문제일까요? 아니면 설정했던 모든 부분에 대한 삭제가 진행되어야 할까요?

  • 네트워크
  • linux
  • aws
  • mysql
  • spring-boot
홍프로 댓글 1 좋아요 0 조회수 323

@Transactional을 사용한 테스트에 대해서 질문드립니다

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요 영한님 강의 정말 잘 듣고 있습니다. ㅎㅎ @Transactional에 대해서 궁금한 점이 생겨서 질문드립니다. @Test @Transactional public void 상품주문() throws Exception { //given Member member = createMember(); Book book = createBook("시골 JPA", 10000, 10); int orderCount = 2; //when Long orderId = orderService.order(member.getId(), book.getId(), orderCount); //then Order getOrder = orderRepository.findOne(orderId); assertEquals("상품 주문시 상태는 ORDER", OrderStatus.ORDER, getOrder.getStatus()); assertEquals("주문한 상품 종류 수가 정확해야 한다.", 1, getOrder.getOrderItems().size()); assertEquals("주문 가격은 가격 * 수량이다.", 10000 * orderCount, getOrder.getTotalPrice()); assertEquals("주문 수량만큼 재고가 줄어야 한다.", 8, book.getStockQuantity()); } 해당 코드는 강의에서 작성한 테스트 코드 입니다. 지만 저는 지금까지 @Transactional을 테스트 코드에 작성하지 않는 것이 좋다고 알고 있었습니다. 그 이유는 @Transactional을 깜빡하고 작성하지 않는 문제를 테스트 코드에서 잡아 낼 수 있고, 테스트 트랜잭션의 롤백 정책으로 인해 실제 로직과 다르게 작동하기 때문입니다. 아래는 제가 @Transactional을 제거하고 코드를 작성해 보았습니다. @Test public void 상품주문() throws Exception { //given Member member = createMember(); Book book = createBook("시골 JPA", 10000, 10); int orderCount = 2; //when Long orderId = orderService.order(member.getId(), book.getId(), orderCount); //then Order getOrder = orderRepository.findOne(orderId); assertEquals("상품 주문시 상태는 ORDER", OrderStatus.ORDER, getOrder.getStatus()); assertEquals("주문한 상품 종류 수가 정확해야 한다.", 1, getOrder.getOrderItems().size()); assertEquals("주문 가격은 가격 * 수량이다.", 10000 * orderCount, getOrder.getTotalPrice()); //Transactional이 없기 때문에 객체를 다시 불러와서 조회 Item findBook = itemRepository.findOne(book.getId()); assertEquals("주문 수량만큼 재고가 줄어야 한다.", 8, findBook.getStockQuantity()); } private Book createBook(String name, int price, int stockQuantity) { Book book = new Book(); book.setName(name); book.setPrice(price); book.setStockQuantity(stockQuantity); itemService.saveItem(book); // service에서 저장 return book; } private Member createMember() { Member member = new Member(); member.setName("회원1"); member.setAddress(new Address("서울", "강가", "123-123")); memberService.join(member); // service에서 저장 return member; } @Repository public class OrderRepository { private final EntityManager em; public OrderRepository(EntityManager em) { this.em = em; } // fetch join으로 LazyLoding 문제 해결 public Order findOne(Long id) { return em.createQuery( "select o from Order o join fetch o.orderItems where o.id = :id", Order.class ) .setParameter("id", id) .getSingleResult(); } 위와 같이 코드를 수정해서 @Transactional이 없어도 테스트를 통과하도록 변경하였습니다. 하지만 아래의 코드는 모든 객체를 테스트 작성자가 신경써야 하고 JPA가 관리하는 여러 가지 기능들을 사용하지 못하게 됩니다. 또한 rollback 기능을 사용하지 못해 테스트 작성자가 일일이 DB에 저장된 값을 지워줘야 합니다. 영한님은 이와 같은 상황에서는 어떤 선택이 좋다고 생각하는지 궁금합니다.

  • java
  • spring
  • spring-boot
  • jpa
이찬원 댓글 2 좋아요 0 조회수 329

스프링 프로젝트 초기 설정

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기서 Gradle JVM에서 Project SDK(openjdk-21)로 할까요? 아니면 다른 선택지인 21 (Oracle OPenJDK 21.0.2)로 해야 하나요? 감사합니다.

  • java
  • spring
  • mvc
  • spring-boot
moses11004 댓글 1 좋아요 0 조회수 541

강의 순서 질문

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

기본편 들은 상태인 지금 활용 1만듣고, data jpa 강의 들어도 되나요? jpa를 당장 써야돼서 data jpa 들은 후에 활용2를 들으려고 하는데요, 괜찮을련지 궁금하네요.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
donkey 댓글 1 좋아요 0 조회수 184

스프링 공부전에 미리 공부해야할 것이 있을까요?

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

자바 공부를 마치고 스프링공부를 하려고 강의를 듣는도중 뭔가 한두단계를 건너뛰고 스프링 공부를 시작하는 느낌이 들었습니다.. 지금 쓰고 있는 annotation, 라이브러리들이 뭔지 하나도 감이 잡히지 않았네요 저런 지식들은 스프링 공부하면서 외우거나 익히는 건가요? 아니면 선행 학습이 필요한 과목이 있나요?

  • java
  • spring
  • mvc
  • spring-boot
뒤끝없는벡엔드 댓글 1 좋아요 0 조회수 253

MemberRepository와 MemberService 중복 관련

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

MemberRepository에 findAll과 findOne이 있는데 MemberService에 findMembers와 findOne의, 실상 같은 역할을 하는 메소드를 중복으로 만들어주는 이유가 뭔가요?

  • java
  • spring
  • mvc
  • spring-boot
클라우디안 댓글 1 좋아요 1 조회수 235

MemberRepository querydsl 적용 질문입니다

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] querydsl 강의를 듣고 복습하면서 적용해보고 있는데, memberRepository 부분에서 @RequiredArgsConstructor을 사용했더니 compileJava부분에서 em의 초기값이 없다는 예외가 발생했습니다. 생성자를 활용해서 해결되긴 했는데 그 전의 코드에서 왜 작동이 안되었는지 궁금해서 질문드립니다. @RequiredArgsConstructor을 사용한다던가 하는 더 간단한 방법도 있는지 궁급합니다. 코드파일입니다 https://drive.google.com/file/d/1ezwW4PrReG_BX-lmAC1uiOL8Syk3GbFW/view?usp=sharing

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
jungbeen 댓글 1 좋아요 2 조회수 196

url을 못찾겠답니다...

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

이거 컨트롤러안에있는 파일에서 import가 자동으로 되지도 않고 html에서는 url이 등록되지도 않았다하네요 실행시키면 Null만 받아오네요

  • java
  • spring
  • mvc
  • spring-boot
포비 댓글 2 좋아요 0 조회수 315

3계층 질문

해결됨

실전! 스프링 데이터 JPA

강의에선 서비스 계층 코드가 없는 관계로 컨트롤러에서 리포지토리를 바로 가져와 사용하셨는데요 실제로 서비스 계층을 구현하지 않은 상태에서 컨트롤러에서 리포지토리를 바로 사용하는 경우도 있는지 궁금합니다

  • java
  • spring
  • spring-boot
  • jpa
피곤한개발자 댓글 1 좋아요 0 조회수 149

MEMBER -ORDER 테이블 에서 JoinColumn 에 관련

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

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 라고 하면 안되나요? 안된다면 이유도 알려주시면 감사하겠습니다!!

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
카도아보 댓글 2 좋아요 0 조회수 262

설정 클래스 생성

미해결

스프링 시큐리티 완전 정복 [6.x 개정판]

HttpSecurity 빈이 설정 클래스를 생성한다는 게 SecurityConfigurer 타입 객체들을 생성한다는 건가요?

  • spring
  • spring-boot
  • spring-security
  • security
  • web-security
정민교 댓글 1 좋아요 0 조회수 258

스프링부트 실행이 안됩니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 내용] 강의 보면 이상한게 떠서 그거 누르면 실행이 되던데 저는 그런게 뜨지않아요 도와주세요

  • java
  • spring
  • mvc
  • spring-boot
포비 댓글 2 좋아요 0 조회수 522

테스트 코드 문의

미해결

실전! 스프링 데이터 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); } }

  • java
  • spring
  • spring-boot
  • jpa
피곤한개발자 댓글 1 좋아요 0 조회수 198

양방향 매핑 제거시 - fetch join/enityGraph

미해결

실전! 스프링 데이터 JPA

[질문 템플릿] 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)로 팀이 필요할때 조회할 수 있게 만들었는데, 한방으로는 못 가져오나여?

  • java
  • spring
  • spring-boot
  • jpa
wngus4278 댓글 1 좋아요 0 조회수 152

Run JpashopApplication 시간 초과

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요, 마지막 커리큘럼 웹계층 강의를 따라하면서 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 56s 3 actionable tasks: 2 executed, 1 up-to-date

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
sichelmond 댓글 1 좋아요 0 조회수 142

19강 질문

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

1. 유저 컨트롤러에서 jdbc를 설정해준적이 없다고 하셨는데 여기서 jdbc클래스설정 이라는게 무슨말인가요? jdbc에 대한 생성자를 말하는건가오? 생성자를 설정안해 줘서 탬플릿을 설정안해준거라면 userservice나 userRepositry 모두 다 템플릿에 대해 설정 안해줬는데 저 둘은 스프링빈도 아닌데 어떻게 jdbc템플릿 가져온건가요

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
우잉 댓글 1 좋아요 1 조회수 151

H2 연결이 안되는 것 같습니다

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

현재 H2 database에 연결하고 목록을 확인하려고 합니다. 그런데 자꾸 회원목록을 들어가거나 회원가입을 실행시 whitelabel 에러가 뜹니다. 제 생각으로는 H2 DB와의 연결 상태때문인 것 같은데, spring boot 실행중에는 아무런 에러가 뜨질 않습니다. 스프링 3.0이상을 사용해서 H2버전 문제인것 같아 1.4.200에서 최신버전을 써보았는데도 똑같은 결과가 나옵니다. 밑에 프로젝트 파일 링크 공유드립니다. https://drive.google.com/file/d/1Wg2OAv5FmdglAZDtUCYDypa1cprIUTda/view?usp=drive_link

  • java
  • spring
  • mvc
  • spring-boot
YH K 댓글 2 좋아요 1 조회수 244

OrderServiceTest 실패

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

OrderServiceTest에서 assertEquals("주문 가격은 가격 * 수량이다")에서 실패가 뜨는데 원인을 찾기 어려워 질문 드립니다. 26000원이 나와야 하는데 0원이 나와서.. 총 가격을 구하는 for문이 안 돌아갔나 싶은데 코드에 오류는 없는 것 같아서 원인을 찾기 어렵습니다. https://drive.google.com/file/d/1SSJFsd6F2hikp7T3MONt5QvklxY-EX3B/view?usp=sharing

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
sichelmond 댓글 1 좋아요 1 조회수 107

강의에서 사용하는 keycloak 버전인 19.0.1 다운로드 URI 공유

미해결

스프링 시큐리티 OAuth2

강의를 매끄럽게 따라하려면 똑같은 keycloak 버전을 사용하셔야 합니다. 2x.x.x 버전 사용 시 openid를 강제로 사용해야 할 수 있습니다. 다운로드 URI : https://github.com/keycloak/keycloak/releases/download/19.0.1/keycloak-19.0.1.tar.gz

  • java
  • spring
  • spring-boot
  • oauth
화이팅 댓글 1 좋아요 0 조회수 194

인기 태그

인프런 TOP Writers

주간 인기글