inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이야기를 나눠요

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

mvc 2편까지 완강 후 토이프로젝트 진행중에 고민이 있습니다

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

안녕하세요 mvc 2편까지 강의 듣고 혼자서 프로젝트를 연습해보고 있는 와중에 막히는 부분이 생겨서 글 남겨봅니다. 영한님한테 배운 타임리프+스프링 활용하여 진행을 해보고 있는데, 뷰 컨트롤 부분에서 제가 아직 배움이 부족해서 그런거겠지만 뭔가 한계가 있는 느낌이 들어서요. 간단한 매핑 처리는 수월했는데, 예를들면 <section> <article> <button>대여</button> <button>예약</button> <button>반납</button> </article> <article><!-- 검색 ui --></article> <article> <ul><li><!-- 체크박스가 들어있는 리스트들 (대여,예약가능) --> ...</li></ul> </article> <section> 이런 식의 ui가 있다고 가정하고, 체크박스 처리에 따른 form 처리를 하고싶은데, 스프링 + 타임리프로 post 처리하려면 <form> 태그의 범위를 어떻게 해야될지 모르겠달까 그런 부분이 계속 고민이 됩니다.. 제가 프론트쪽을 예전부터 많이 다뤘었는데 이런 경우들이 있을땐 가능하다면 자바스크립트 기반으로 제어해서 스프링과 연계하는게 맞을까요??

  • spring
  • mvc
shion002 댓글 1 좋아요 0 조회수 305

학습 방법

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

안녕하세요. 현재 저는 김영한 강사님이 올려놓으신 스프링 완전 정복 시리즈 로드맵(고급편, 핵심 원리와 활용 제외)과 JPA 실무 정복 로드맵(스프링 데이터 JPA, QueryDSL 제외)을 수강(1회 수강)했습니다. 저는 지금까지 배운 기술들로 간단한 개인 프로젝트를 진행하려고 하는데 프로젝트 진행 방법에 대해 궁금한 점이 있습니다. 첫 번째 질문 저는 일단 지금까지 들었던 강의들을 빠른 배속으로 다시 들으면서 프로젝트를 진행하려고 하는데 이게 맞는지 아니면 프로젝트 도중에 헷갈리는 개념들을 찾아서 복습하는 식으로 진행하는게 맞는지 궁금합니다. 아니면 더 좋은 방법이 있으시다면 추천 부탁드립니다. 두 번째 질문 그리고 강사님 강의들을 처음 들을 때는 라이브 코딩을 진행하면서 강의를 들었었는데 복습할 때는 라이브 코딩 말고 그냥 빠른 배속으로 들으면서 복습하는 것도 괜찮은 건지 궁금합니다.

  • spring
  • mvc
  • jpa
  • http
잘부탁드려요 댓글 1 좋아요 1 조회수 466

현재 공부방향이 괜찮은지 궁금합니다

실전! 스프링 데이터 JPA

안녕하세요 현재 개발자를 준비하고 22살 남성입니다, 저에게는 한 가지 고질적인 고민이 있습니다, 바로 제대로 된 네트워킹이 이루어지고 있지 않다는 점 인데요, 고졸이라는 학력과 주위에 아무런 인맥도 없는 상황에서 20살부터 혼자서 2년간 공부를 했기에 불안함이라는 감정이 아무리 공부를 하더라도 지워지지 않는 거 같습니다, 아마 객관적으로 현재 저가 어느정도 수준인지 파악이 안되는 상황이라서 생기는 감정이라고 생각하고 있습니다. 사실 개발자를 준비하면서 여러 차례 네트워킹을 노력 했지만 뜻대로는 안 된 거 같습니다, 하지만 지속적인 불안함 때문에 2년간 계속해서 공부방식에 대한 의심이 많았고, 누가봐도 좋은 방식이라는 생각이 들 수 있도록 방향에 대한 교정을 이어나가고 있습니다. 본론은 지금부터 입니다, 현재까지 몇 번의 서비스를 만들어 왔으며, 매번 서비스를 만들면서 백엔드 개발 관점에서 더 좋은 코드를 만들고자 노력하고 있습니다. 그리고 지금은 새로운 서비스를 만들면서 이전에는 구현하기 바빴다면, 이번에는 개발서적을 읽고 여러 레퍼런스를 보면서 개발을 하고있는 상황입니다. 예를 들어, JPA의 경우 현재 내 코드가 선택적 비식별관계인지 필수적 비식별관계인지 점검하고 만약 필수적 비식별 관계일 경우 N + 1 문제를 해결하기 위해, 연산이 상대적으로 더 빨라서 성능 면에서 외부조인보다 더 좋은 내부조인을 사용할 수 있고 이러한 내부조인을 사용하여 N + 1 문제를 해결하는 등 서적을 읽으면서 문제점을 계속해서 찾다보니 점검 해야하는 체크 리스트가 약 150개 정도 되는 상태입니다. (근데 말이 저렇다는거지 실제로는 요구사항에 따라서 @EntityGraph나 Fetch Join이 더 좋을 수도 있을거라고 생각하고 있습니다) 또한 책을 읽다보니 간단한 CRUD을 구현하는 것도 사실 간단한게 아니라 저가 놓치고 있는게 정말 많이 있다는 사실을 알 수 있었고, 지금은 한 가지 기능을 구현할 때 많은 고민을 가지면서 개발하는 습관이 생겼습니다, 이외에도 빨리 데이터베이스와 아키텍처 그리고 네트워크에 대한 내용도 서적을 읽으면서 제 기준으로 최대한 깊게 공부하고 싶은 생각이 들고 있습니다. 그리고 저는 이러한 부분에서 "다른 개발자들은 기본적으로 알고 있는거면 어떡하지?" "지금 고치고 있는게 의미 없는거면 어떡하지?" "열심히 서적을 읽고 정리하고 코드에 적용하고 그걸 기록하고 남들이 읽기 쉽도록 PR하는데 이게 아무 가치가 없는거면 어떡하지?" 같은 불안함을 느끼고 있습니다, 그래서 지금 방식이 괜찮은지 김영한님의 조언을 듣고 싶습니다, 되도록이면 쓴소리를 듣고 더 좋은 방향으로 발전하고 싶습니다, 긴글 읽어주셔서 감사합니다. + 그리고 마지막으로 지금 만드는 서비스가 저가 이전에 일했던 시장에서 불편한 점을 개선하는 서비스입니다, 랜딩 페이지를 만들어서 약 이틀간 수요 조사를 했는데 200분이 방문하시고 80분 정도가 이 정보를 원하고 계신 상태이기에, 최소한 한달에 1,000명 정도는 사용하지 않을까..? 하는 생각이 있습니다, (과거 수익형 블로그 운영 경험이 있어서 사이트 노출에 대한 이해도가 좀 있음) 그래서 신입이 최선을 다해서 만든 서비스가 사용자 피드백을 받고 개선한것도 있다면 좀 좋게 봐주실까요....?

  • java
  • spring
  • spring-boot
  • jpa
황새치 댓글 1 좋아요 1 조회수 563

강의 질문 드립니다.

실전! 스프링 데이터 JPA

해당 강의 말고 Query DSL 로 바로 넘어가도 될까요..? 2개의 기술 모두 JPQL 작성하는 방법에 대해서 다루는 거라면.. Query DSL 을 사용하는게 더 낫고 편하다면 그냥 그것만 듣고 싶어서요...

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

동시성 문제에 대해 질문합니다.

스프링 핵심 원리 - 고급편

안녕하세요!.. 강의와 무관한 내용이지만 마땅히 스프링 관련된 질문을 아는 곳이 없어 평소 스프링 강의를 들은 선생님께 질문을 하게 되었습니다. 질문에 대한 전체 코드는 아래 링크에 작성했습니다. https://www.notion.so/7iwook/userVolunteerService-1d911afe2d6545bfa1e8247cc6006748?pvs=4 @Lock(LockModeType.PESSIMISTIC_READ) @Override public Optional<UserVolunteerWork> findByVolunteerWorkIdAndUserId(Long volunteerWorkId, Long userId) { return Optional.ofNullable(queryFactory .selectFrom(userVolunteerWork) .join(userVolunteerWork.volunteerWork, volunteerWork) .join(userVolunteerWork.user, user).fetchJoin() .where( userVolunteerWork.volunteerWork.id.eq(volunteerWorkId) .and(userVolunteerWork.user.id.eq(userId)) ).setLockMode(LockModeType.PESSIMISTIC_READ) .fetchOne()); } 위 코드를 순차적 시행하면 문제없이 원하는 결과값을 반환하지만 (테스트 코드가 길어 똑같은 부분을 제외하고 차이점만 올립니다.) for (int i = 0; i < tryCnt; i++) { User user = users.get(i); try { volunteerService.approve(adminEmail, volunteerWorkId, user.getId()); successCount++; // 성공한 신청 수 증가 } catch (Exception e) { failedCount++; } } 동시성 테스트를 위해 아래와 같이 구성을 하면 쿼리 결과 값이 null로 나와 EntityNotFoundException을 던지게 됩니다.. int numThreads = 50; // 50명의 유저가 동시에 신청 CountDownLatch doneSignal = new CountDownLatch(numThreads); ExecutorService executorService = Executors.newFixedThreadPool(numThreads); AtomicInteger successCount = new AtomicInteger(); AtomicInteger failCount = new AtomicInteger(); for (int i = 0; i < numThreads; i++) { User user = users.get(i % users.size()); // 유저 목록에서 순차적으로 유저를 가져옴 executorService.execute(() -> { try { log.info("approved userId = {}", user.getId()); volunteerService.approve(adminEmail, volunteerWorkId, user.getId()); successCount.getAndIncrement(); // 성공한 신청 수 증가 } catch (Exception e) { e.printStackTrace(); failCount.getAndIncrement(); // 예외 처리 } finally { doneSignal.countDown(); // 쓰레드 작업 완료를 알림 } }); } 인터넷에 나와있는 비관적, 낙관적 락을 모두 시도해보았으나 null로만 반환되는 현상이 나오는 데 이 현상이 동시성에 있는건지도 아직 모르겠습니다... 원인에 대해 찾아주신다면 정말 감사합니다!! 좋은 강의 항상 잘 듣고 있습니다!!

  • spring
  • 동시성
  • querydsl
tizmfns1218 댓글 1 좋아요 0 조회수 423

개인 프로젝트 관련 고민이 있습니다..

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

이번에 배포까지 완료 하였고, 많이 부족하지만 이 강의를 통하여 배운 것을 기반으로 응용 프로젝트를 하려고 합니다. 목표는 웹 앱 하이브리드 형식으로 웹에서는 관리자 관리 기반 기능 (책 등록, 회원 승인, 기록 관리) 앱에서는 로그인이나 ai 가 책을 추천하고, 책에 대한 소통하는 게시판, 웹에서 등록된 책을 앱에서 대출 및 반납 을 목표로 하고 있습니다. 예전에 js, css 를 다뤄서 html 을 만들어본 경험과 안드로이드 스튜디오를 통해 heidiSQL 을 사용하여 알람 앱을 만들어 본 적도 있는데, 다 까먹었지만, 다시 한번 기억을 되살려 써먹어보고 싶습니다. 문제는 일단 프론트 쪽 부터 뜯어보고 싶은데, 제가 배웠던 것은 js와 css 파일을 나누어서 그것을 이용해 body에 때려박는 무식한 방식으로 했는데 idex.html 에 있는 body 에 id="root" 만 있고 이 root 에 대한 값을 못찼겠네요... 일단 제가 알고 싶은 것은 버튼이나 여러 ui를 추가 하고 싶은데 혹시 강의에서 주신 html 을 건들려면 어떻게 해야 할지 알 수 있을까요? 서버 실행 후 index.html 에 있는 저장 버튼이 어떻게 저희가 작성한 코드와 상호작용 되는지 알 수 있을까요?

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
Frustrequiem 댓글 0 좋아요 0 조회수 516

이해관련 질문

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 입문 강의 듣고 스프링 완전 정복 로드맵을 구매하려고 했는데, 입문강의에서 JPA까지 다루는 법을 알려주시는데, 이해하고 넘어가려고 하니 갑자기 개발자를 해도 될지 의문을 가질정도로 어렵게 느껴집니다. 로드맵 강의를 구매해도 괜찮을까요...

  • java
  • spring
  • mvc
  • spring-boot
강현 임 댓글 1 좋아요 0 조회수 297

연관관계를 많이 가지는 엔티티의 테스트

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

안녕하세요 영한님 영한님 강의들을 통해서 스프링이 무엇인지도 몰랐던 저는 이제 팀을 만들어 프로젝트를 하고 개발이라는 것에 즐거음을 느끼고 있는 개발 취준생입니다. 최근 프로젝트를 진행하면서 JPA 사용하는 중에 테스트 코드에서 어려운 부분이 있어 너무 궁금하여 질문을 남깁니다. 저는 물류 관리 시스템의 주제로 프로젝트를 진행하고 있습니다. 이 과정에서 엔티티과 연관관계를 복잡하게 가지고 있고 이로 인해서 서비스 테스트 코드 하나를 테스트하기 위해 많은 사전 데이터가 필요한 상태입니다. 테스트 코드를 작성하기 위해서 많은 Mock 데이터가 필요한 문제점을 해결하기 위해서 실무에서는 어떤 식으로 이런 문제를 해결하는지 궁금합니다. 혹시나 이 글을 보신다면 답변 해주시면 정말 감사하겠습니다. ㅠㅠ 👏 👏

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
김도영 댓글 1 좋아요 0 조회수 540

혹시 쿼리를 빨리 읽는 방법이 있을까요?

데이터 분석 SQL Fundamentals

혹시 쿼리를 빨리 읽는 방법이 있을까요? 제가 실무에서 프로시저와 함수들을 주로 사용하고 있습니다. 그런데 제가 SQL 에 익숙하지 않아서 인것도 있지만 주석이 없는 프로시저와 함수들을 보고 의도를 파악하고 분석하는데 시간이 너무 오래 걸리고 있어요. 혹시 서브쿼리 join , union 등이 무분별하게 쓰여진 복잡한 쿼리에서 쿼리의 의도만을 빠르게 파악할 수 있는 방법이 있을까요? 제 나름대로 생각을 해서 SELECT 절은 일단 보지 않고 FROM 절을 먼저 보고 어떤 테이블에서 값을 가지고 오는지 판단한후 WHERE 절을 보고 마지막으로 SELECT 절을 보고 있어요 그런데 SELECT 절에서도 CASE WHEN 문이나 단일행 서브쿼리들이 있어서 실행을 시켜보아도 이게 무슨의미인지 파악하지 못할때가 많아요,, 방법이 있을까요?

  • sql
  • postgresql
  • dbms/rdbms
minhyuck WOO 댓글 1 좋아요 0 조회수 1019

DatasourceUtils import가 안됩니다

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

이 버전으로 하였고 자바 버전 다 맞춰보고 invalidate Cashes, 새로운 프로젝트 생성 후 만들어도 안 됩니다. 답변 글 중에 jdbc api를 의존성에 추가하면 된다고 해서 해봤는데 그렇게 하면 DatasourceUtils는 import가 되나 부트 실행이 안 됩니다 .

  • java
  • spring
  • mvc
  • spring-boot
박준영 댓글 1 좋아요 0 조회수 316

자바 중급2까지 끝내고 들으려는데 용어가 너무 어려워요 ㅠㅠ

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

API 뭐 톰캣서버내장 이런 단어조차 모르니 너무 어렵네요 ㅠㅠ 비전공자 출신인 저로서는 CSS HTML 자바스크립트 이런 용어도 생소한데 혹시 웹기본에 대한 지식을 먼저 쌓고 강의를 따라가야하는걸까요 ..? 아니면 우선 계속 따라하면서 익숙해질 수 있을까요 ㅠㅠ 혹시 먼저 선수지식이 필요하면 어떤걸 공부하면 좋을까요

  • java
  • spring
  • mvc
  • spring-boot
Teo 댓글 2 좋아요 0 조회수 355

강의 보고 있는데 고민이 생겼습니다

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

안녕하세요. 스프링 입문, 핵심원리, HTTP, MVC 1, MVC 2까지 본 학생입니다. (너무 좋은 강의 감사합니다!) 진도를 나가는 것에만 치중해서 듣다 보니 진짜 강의만 보고 끝난 느낌이라 수업에서 진행한 프로젝트도 혼자 할 수 없을 것 같습니다.. 하나의 섹션이 끝난 뒤 라이브 코딩한 코드를 읽으면 조금은 이해가 된 것 같지만 막상 혼자 코드를 작성하면 시작부터 막막한 상태니 복습도 어떻게 해야 할지 잘 모르겠습니다. 이렇게 본 강의가 쌓이다 보니 이 상태로는 다음 강의를 보면 안 될 거 같아 글을 올려봅니다. 이런 경우에는 강의를 다시 보고 다음으로 넘어가는 것이 좋을까요? 아니면 강의에서 진행한 프로젝트를 혼자 도전해 보면서 안 되는 부분을 강의 보고 공부한 뒤 다음 단계로 넘어가는 게 좋을까요? 제가 공부는 못하고 코딩은 더더욱 못하는지라 강의를 보고 이렇게 공부하고 복습하면 안 된다는 건 알겠지만 방식을 바꿔서 어떤 방향으로 진행해야 할지는 잘 모르겠습니다.. 이런 바보 같은 질문 죄송합니다..!!

  • spring
  • mvc
룰루랄라 댓글 2 좋아요 1 조회수 290

스프링

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

자바 중급편까지 완강하고 이제 스프링을 들으려고 하는데, 대학생이라 동아리를 들어가서 프로젝트도 하고싶은데 어느정도까지 수강을 해야 스프링을 통해서 웹개발하는 프로젝트를 수행할 수 있는건지 알려주실수 있나요??

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

스프링 질문

스프링 부트 - 핵심 원리와 활용

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 스프링 부트만 배워서 개인 프로젝트를 하고있는데 꼭 스프링을 배우고 와서 이걸 들어야할까요? 많은 고민이 됩니다.

  • spring
  • spring-boot
  • prometheus
  • grafana
doihavetoloseyoutoo 댓글 1 좋아요 0 조회수 271

자바 공부 후 스프링 수업 들을 예정

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

안녕하세요! 지금 김영한님의 자바 강의를 듣고있는 학생입니다. 백엔드가 목표여서 최종적으로 스프링 강의까지 들을 예정인데 혹시 자바 강의를 어느 정도까지 듣고 스프링 강의를 시작하는 것이 좋은지 궁금하여 글을 남겼습니다.

  • java
  • spring
  • mvc
  • spring-boot
재밌는코딩 댓글 1 좋아요 1 조회수 441

jpa 관련 질문

실전! 스프링 데이터 JPA

강의를 계속 듣다보면 나오는 jpa 관련 지식들이 나오는데 제가 로드맵을 계속 따라오면서 다 까먹은 거 같아요... 자바 ORM 표준 JPA 프로그래밍 - 기본편 만 들어도 다시 모든 내용이 다 담겨있을까요?

  • java
  • spring
  • spring-boot
박동규 댓글 1 좋아요 0 조회수 264

권장 수강기간

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

삭제된 글입니다

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

계속 진행해야하나 고민입니다...

스프링 핵심 원리 - 기본편

스프링 입문 처음으로 한번 다 듣고 스프링 기본편 듣는 중인데 내가 이걸 왜 따라서 만들고 코딩하고 있는지 모르겠고 그냥 영상보면서 계속 따라서 코딩중입니다... 제가 아직 처음이라 그런건지 힘들고 어렵네요 ㅠㅠ

  • spring
  • 객체지향
tjdwlsdn2020 댓글 1 좋아요 0 조회수 510

spring 처음 접근하는 대학생

스프링 핵심 원리 - 기본편

안녕하세요 현재 3학년에 재학중인 대학생입니다 이번 여름방학때 백엔드 자바-스프링으로 진로를 정하고 강의를 듣기 시작했습니다. 하지만 김영한님 강의가 1타 강의라고 알고 있는데 전체적인 이론인 의존관계나 컴포넌트, 빈 같은것은 이해가 되지만 코드 하나하나가 이해가 가질않습니다. gpt도 이용해서 코드를 분석하고 있는데요 시간이 가면 갈수록 강의에서 작성하는 코드가 길어져 분석이 불가능 해지고 있습니다 초반엔 이론만을 위주로 이해해도 코드가 어느정도 머리속에 들어왔는데 나중가서 코드를 이해못하니 이론도 이해가 어려워지더군요 ㅠㅠ 학교에서는 자바 기본 문법밖에 안배우고 백준을 자바로 풀고 프로젝트도 안해봤는데 지금 제가 이 강의를 듣기에는 너무 이를까요? 아니면 제가 이 강의의 코드를 이해하고 코드 작성을 따라가기 위해 도움될만한 방법이 있을지 궁금합니다

  • spring
  • 객체지향
박지성 댓글 1 좋아요 0 조회수 534

영상 마지막에 Test 파일 오류

스프링 핵심 원리 - 기본편

사실 질문이 아니라 정보를 공유해 드리고 싶어서 글 올립니다 마지막 영상에서 test 파일을 한번에 실행시킬때 저처럼 오류가 나는 분들이 있을텐데 이는 jdk21 버전을 사용하였을때 나는 오류입니다 gpt를 통해 답을 얻어내고 해결했으니 참고바랍니다 ㅎㅎ Mockito와 Byte Buddy 개요 Mockito : Java 애플리케이션 테스트에서 객체의 모킹을 위해 널리 사용되는 라이브러리입니다. 모킹은 실제 객체 대신 가짜 객체(Mock)를 사용하여 테스트를 수행하는 기법입니다. Byte Buddy : 바이트코드 조작을 통해 동적으로 클래스와 메서드를 생성 및 수정하는 라이브러리로, Mockito는 이 라이브러리를 사용하여 모킹 기능을 구현합니다. 문제 원인 및 해결 방법 문제 원인 Java 21 버전에서는 이전 버전들과 달리 일부 내부 API가 변경되었을 수 있습니다. 이는 특정 라이브러리가 동적으로 클래스 로딩을 하거나 바이트코드를 조작하는 방식에 영향을 줄 수 있습니다. 동적 에이전트 로딩 문제 : 새로운 Java 버전에서는 동적 에이전트 로딩이 제대로 지원되지 않거나 제한될 수 있습니다. 이는 Byte Buddy가 사용하는 기법 중 하나로, 클래스 로딩을 동적으로 변경하는 데 사용됩니다. 해결 방법 최신 버전 사용 : Mockito와 Byte Buddy의 최신 버전은 새로운 Java 버전에서 발생할 수 있는 문제를 해결하기 위해 업데이트됩니다. 최신 버전에서는 최신 Java의 변경 사항을 반영하여 호환성을 보장합니다. 최신 버전은 버그 수정, 성능 개선, 그리고 새로운 기능을 포함하여 더 안정적으로 동작합니다. 특히 Byte Buddy는 Java의 내부 구조 변화에 대응하기 위해 자주 업데이트됩니다. 구체적인 해결 과정 의존성 업데이트 : build.gradle 파일에서 Mockito와 Byte Buddy의 최신 버전으로 의존성을 업데이트했습니다. groovy 코드 복사 dependencies { testImplementation 'org.mockito:mockito-core:4.0.0' testImplementation 'net.bytebuddy:byte-buddy:1.12.6' testImplementation 'net.bytebuddy:byte-buddy-agent:1.12.6' } 최신 버전의 장점 : 버그 수정 : 최신 버전에서는 이전 버전에서 발생한 다양한 버그들이 수정되었습니다. 호환성 : 최신 버전은 Java 21과 같은 최신 Java 버전과의 호환성을 보장합니다. 성능 개선 : 최신 버전에서는 성능이 개선되어 더 빠르고 안정적인 테스트를 수행할 수 있습니다. 결과 : 최신 버전을 사용함으로써, Java 21에서 발생하던 동적 에이전트 로딩 문제와 관련된 오류가 해결되었습니다. 이는 최신 버전이 Java 21의 변경 사항에 맞게 적절히 대응했기 때문입니다. 결론적으로, 라이브러리의 최신 버전을 사용함으로써 새로운 Java 버전과의 호환성 문제를 해결할 수 있었던 것입니다. 최신 버전의 라이브러리는 일반적으로 더 나은 안정성과 성능을 제공하며, 최신 환경에서의 호환성을 보장합니다. /*1. Mockito 및 Byte Buddy 최신 버전 사용 사용 중인 Mockito 및 Byte Buddy 라이브러리의 버전을 확인하고, 최신 버전으로 업데이트합니다. 최신 버전은 최신 JDK와의 호환성을 더 잘 지원할 수 있습니다. build.gradle 파일에서 의존성을 최신 버전으로 업데이트하세요:*/ dependencies { testImplementation 'org.mockito:mockito-core:4.0.0' testImplementation 'net.bytebuddy:byte-buddy:1.12.6' testImplementation 'net.bytebuddy:byte-buddy-agent:1.12.6' }

  • spring
  • 객체지향
박지성 댓글 1 좋아요 0 조회수 526

인기 태그

인프런 TOP Writers

주간 인기글