inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이야기를 나눠요

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

제가 아직 빌드와 실행, 그리고접속 파트를 보고있는데

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

만약 소스를 업데이트하고 커밋하면 리눅스 EC2서버에서는 빌드를 다시해야하는건지 아니면 다시 깃클론을 해야하는건지 궁금합니다!

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
troup 댓글 1 좋아요 1 조회수 437

구름환경 문의

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

함수에 대해 정의내릴 때 예를 들어 코랩 에서는 scaler = minmax_scale() 이렇게 정의를 내리고 scaler(data) 하는데 #코랩은 정의내릴 때 괄호를 빼면 동작안함 구름에서 테스트해보니까 scaler = minmax_scale()하고 scaler(data)하면 에러가 발생하고 괄호없이 scaler = minmax_scale 만해야 에러가 발생하지 않더라구요. 이게 구름 환경만의 특성이라서 그렇다고 보면 될까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
jinu220 댓글 2 좋아요 0 조회수 715

Spring Boot 3 Querydsl 설정 공유 드립니다 + MongoDB

실전! Querydsl

최근에 새로운 프로젝트 진행하면서 Spring Boot 3 버전을 사용하게 됐는데 해당 프로젝트의 Gradle 설정을 구성하면서 다른 분들의 예제를 보면서 작성한 내용을 공유 드립니다. 아래의 내용은 VSCode에서 진행했습니다. 다른 IDE에서는 테스트해보지 않아 다르게 동작할 수도 있는 점 양해 부탁드립니다. 먼저 Gradle 설정은 다음과 같습니다. plugins { id "java" id "org.springframework.boot" version "3.0.6" id "io.spring.dependency-management" version "1.1.0" //querydsl 플러그인 추가하지 않음 } ... configurations { ... querydsl.extendsFrom compileClasspath //해당 부분은 그대로 유지 ... } repositories { mavenCentral() } dependencies { ... implementation "com.querydsl:querydsl-jpa:5.0.0:jakarta" annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" implementation "com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0" ... } ... 현재 예제에서는 Querydsl의 Gradle 플러그인인 id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" 를 사용하지 않습니다. 이전 버전에도 있었는지는 정확하게 모르겠지만 Spring Boot 3로 업데이트 되면서 jakarta 패키지를 사용하기 때문에 해당 패키지에 맞는 annotationProcessor를 추가하여 Gradle의 Querydsl 태스크를 대체합니다. (대표적으로 compileQuerydsl) 그리고 configurations 부분의 querydsl.extendsFrom compileClasspath 구문은 그대로 유지합니다. dependencies 부분에서는 Querydsl 관련 패키지 뒤에 :jakarta 를 추가로 입력하고 2 개의 annotationProcessor을 추가해줬습니다. Spring Boot 3 초기에 지원되지 않았던 P6Spy의 경우 2월 10일에 1.9.0 버전으로 업데이트 되어 정상적으로 지원합니다. 그리고 기존에 김영한 님이 가이드 하셨던 코드인 //querydsl 추가 시작 def querydslDir = "$buildDir/generated/querydsl" querydsl { jpa = true querydslSourcesDir = querydslDir } sourceSets { main.java.srcDir querydslDir } compileQuerydsl { options.annotationProcessorPath = configurations.querydsl } //querydsl 추가 끝 위 코드는 따로 작성하지 않습니다. Querydsl Gradle 플러그인을 통해 Qclass를 생성하는 compileQuerydsl 태스크를 별도로 실행할 필요 없이 프로젝트 빌드 진행 시 annotationProcessor에 의해 Qclass가 자동으로 생성됩니다. (여기서 프로젝트 빌드란 Gradle build 태스크가 아닌 Java workspace 빌드를 뜻함.) 아래의 이미지와 같이 @Entity 파일이 수정될 때 수정한 내용이 즉시 Qclass에 반영되는 것을 확인할 수 있습니다. (좌측 Entity class, 우측 Qclass) 위 설정을 통해 생성되는 Qclass의 위치는 /bin/generated-sources/annotations/{프로젝트 패키지}/{Entity 클래스 패키지}입니다. (예제 프로젝트에서 Qclass의 위치, gitignore 처리되어 있어 회색으로 표시 됨) 만약 annotationProcessor를 추가하고 Querydsl 설정을 같이 추가했다면 Qclass가 중복된다는 오류가 발생하여 프로젝트 빌드가 진행되지 않으니 주의 바랍니다. 해당 소스는 다음 링크에서 확인해보실 수 있습니다. 404-nut-pound/spring-jpa-querydsl-template ( github.com ) 그리고 별도로 MongoDB+Querydsl 설정도 공유해 드립니다. 404-nut-pound/spring-mongodb-querydsl-template ( github.com ) MongoDB는 Gradle 패키지 설정 시 약간 달라지고 @Entity 어노테이션은 동일하게 사용합니다. 그리고 Querydsl MongoDB 패키지는 JPAQueryFactory를 지원하지 않고 Morphia 패키지를 사용해서 MorphiaQuery라는 객체를 사용하는데 공식 가이드를 봐도 해당 객체를 초기화하는 방법을 알 수 없어서 Repository 인터페이스에 QuerydslPredicateExecutor를 상속하여 사용하는 식으로 구성했습니다.

  • java
  • jpa
  • springboot3
  • querydsl
  • mongodb
KR KHS 댓글 1 좋아요 7 조회수 4681

안녕하세요 강사님! 수학때문에 고민이 있어 이렇게 질문드립니다.

딥러닝 CNN 완벽 가이드 - TFKeras 버전

안녕하세요 선생님. 우선 좋은 강의를 해주셔서 감사드립니다. 다름이 아니라 현재 섹션1,2 를 수강한 상태입니다. 섹션 1, 2를 수강하는데 수식이 굉장히 많이 등장하더라구요. 제가 수포자였어서 현재로썬 이해하는데 있어서 어려움이 많은 상태입니다.(지금은 열심히 공부하고 있습니다! 아무래도 딥러닝을 공부하는데 수학이 필수인거같아서) 그래서 작동 원리만 이해하고 우선은 넘어가는 방식으로 공부하려고 하는데 이렇게 해도 괜찮을까요?? 예를들면 경사하강법은 손실함수의 기울기가 적어지는 방향으로 학습하는 것이구나, 오차역전파는 미분을 거꾸로 하면서 가중치를 업데이트하는 것이구나, 손실함수는 이런게 있구나, 옵티마이저는 이런게 있구나 이렇게 작동하는구나 이런식으로요. 물론 언젠가는 반드시 다 이해해야겠지만 딥러닝입문자로써는 이렇게 이해만 하고 넘어가도 될까요??

  • 머신러닝
  • 딥러닝
  • keras
  • tensorflow
  • kaggle
  • cnn
이재훈 댓글 1 좋아요 0 조회수 626

김영한 선생님! 질문 있습니당!

자바 ORM 표준 JPA 프로그래밍 - 기본편

지금 현재 동아리 내부에서 스프링은 김영한 강사님 꼭 들어야 한다는 말과 함께 열심히 수강하고 있는 학생입니다. 지금 JPA 활용 2편까지 거의 수강하고 있습니다. 활용편까지 들으면서 이것저것 해보고 싶은게 많더라고요? 로그인도 해보고 싶고, 결제기능도 해보고 싶고, 쿠키, 세션 등 다양한 것을 해보고 싶습니다. 그렇기 때문에 스프링 MVC 강의도 꼭 듣고 싶고요! 근데요!!!!!! 요즘에는 다 API 방식으로 개발을 한다고 하잖아요? 1번)혹시 스프링 MVC 강의에서 API 방식으로 로그인이나 쿠키나 세션 같은 부분을 다룰까요??? 이 부분이 1번으로 일단 궁금하고요!(물론 그거와는 별개로 제가 MVC강의도 사서 들을 거긴 합니다!) 2번) 결재기능이라던지 이런 추가적인 기능, 소셜 로그인 기능을 사용한다던지 이런 것은 그냥 구글링으로 공부하시는 걸 추천하시나요? 당초 잘 정리되어 있는 책이나 그런 것을 먼저 학습하고 거기에다가 조금씩 살붙이는 걸 좋아하는 편이라서 보고 공부하신 책이라도 있을까요?

  • java
  • jpa
dionisos198 댓글 1 좋아요 0 조회수 703

train.corr().iplot(kind='heatmap', colorscale='Blues') 에러 발생시.

[리뉴얼] 처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part2]

train.corr().iplot(kind='heatmap', colorscale='Blues') 현재 위의 코드 수행시 에러가 발생하는데요. ValueError: could not convert string to float: 'Braund, Mr. Owen Harris' train 데이터프레임에서 문자열 데이터가 포함되어 있기 때문에 해당 에러가 발생할 수 있습니다. 이 경우, 상관 관계 행렬을 계산하기 전에 문자열 열을 제거해야합니다. 저의 경우 다음처럼 새로운 객체를 만들어 진행하였습니다. object_cols = train.select_dtypes(include=['object']).columns #열의 데이터 타입이 문자인녀석 추출 new_train = train.drop(columns=object_cols) # 열의 데이터가 문자열인 것들 제거 후 새로운 객체에 생성 new_train.corr().iplot(kind='heatmap', colorscale='Blues') 이러면 잘 나옵니다.

  • python
  • 머신러닝
  • pandas
  • kaggle
이기평 댓글 1 좋아요 1 조회수 936

로컬 머신에서 iplot 으로 렌더링 안되시는 분들은

[리뉴얼] 처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part2]

import plotly.io as pio pio.renderers.default='iframe' 다음 코드를 추가해주시면, iframe 을 통해 렌더링 됩니다. 저의 경우 다음 에러로 렌더링이 안됐습니다. ( F12 / Option+Command + i -> console 에서 확인 가능 .)

  • python
  • 머신러닝
  • pandas
  • kaggle
이기평 댓글 0 좋아요 0 조회수 465

데이터 베이스 설계

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

데이터 베이스 설계를 처음 접해봐서 설계 부분이 너무 어렵네요 ㅠㅠ db 설계 같은건 어떻게 공부할 수 있을까요??

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
맥북유저 댓글 1 좋아요 0 조회수 512

p6spy 버전에 따른 p6spy 로그 문제

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

현 시점 (2023.04.23) 기준 spring boot 2.x 의 최신버전인 spring boot 2.7.10 에서 강의 자료의 https://github.com/gavlyukovskiy/spring-boot-data-source-decorator 의 p6spy 최신 버전인 1.9.0 사용 했을떄 p6spy로그가 찍히지 않네요 추가 설정을 통해서 해결할 방법이 있을것으로 추측되지만.. 귀찮으신 분들은 그냥 강의에서 사용했던 p6spy 1.5.6 버전을 그냥 사용 하시면 문제없이 출력이 되니 참고하실분들은 참고하세요 ㅎㅎ

  • java
  • spring
  • spring-boot
  • jpa
  • p6spy
  • sql로그
김준현 댓글 2 좋아요 0 조회수 2160

프로젝트를 시작할 때

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

안녕하십니까 강사님 강의 너무 잘 듣고 있습니다. 서버 개발에 필요한 일련의 과정을 정리하는데 많은 도움이 되고 있습니다. 강의 내용에 대한 질문은 아닙니다. 이제 취업을 하기위한 포트폴리오를 만들 단계라고 생각하는데 개인 프로젝트를 할 때 가이드 라인을 여쭙고자 질문드립니다. 실무에선 상황마다 물론 다르겠지만 강사님께선 보통 프로젝트 주제를 선정하고, 요구사항을 정리한 다음 테이블 설계를 하시고 그다음 API 스펙을 정한 다음 개발에 착수하시나요? 그리고 API 스펙을 정할 때 controller에 진입하기 위한 경로들을 모두 정하신 다음 본격적인 코드 작성을 하시는지도 궁금합니다. 항상 개인 프로젝트를 하다 보면 프로젝트 시작 단계에서 고려하지 못한 부분들을 놓쳐 결국 프로세스가 뒤죽박죽 되고 헷갈리게 되는것 같더라구요.. 그래서 강사님의 개인적인 개발 프로세스를 슬쩍? 알려주시면 감사하겠습니다. 좋은 강의 만들어주셔서 감사합니다:) 그리고 프로젝트를 할 때 완성된 결과물을 보여주기 위해선 어느 정도의 ui도 필요할 것 같은데 이런 경우 rest api를 만들기 보단 ssr 애플리케이션을 만드는 것이 나을까요..? 두서 없는 질문이라서 죄송합니다ㅎㅎ..

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
lano 댓글 1 좋아요 1 조회수 592

15_코드 실행 시 오류 해결 방법

처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]

<강의 코드> transforms_for_train = transforms.Compose( [ transforms.Resize(feature_extractor.size), transforms.RandomHorizontalFlip(), transforms.ToTensor(), normalize, ] ) 강의 코드를 변경하지 않고 그대로 실행하면 아래와 같은 오류가 발생합니다 <오류 메시지> TypeError: Size should be int or sequence. Got <해결 방법> feature_extractor.size를 tuple(feature_extractor.size.values()) 로 변경한 뒤 실행합니다. transforms.Resize 내의 인자 뿐만 아니라 Crop 안의 인자도 함께 변경해주어야 합니다 transforms_for_train, transforms_for_val 모두 동일하게 변경한 뒤 실행하면 에러 없이 실행되는 것을 보실 수 있습니다.

  • 머신러닝
  • 딥러닝
  • 인공신경망
  • pytorch
  • vision-transformer
세니 댓글 0 좋아요 0 조회수 545

강의 코드 자료 요청 관련해 문의드립니다.

자바 ORM 표준 JPA 프로그래밍 - 기본편

영한님, 서포터즈 분들 안녕하세요. 덕분에 좋은 강의로 잘 학습하고 있습니다. 특히 강의에 있는 내용을 거의 빠짐없이 꼼꼼하게 강의자료를 만들어주신 덕분에 개발환경 설정부터 코드까지 잘 활용하고 있습니다. JPA 기본편의 경우는 아마 강의 자료의 포멧이 정해지기 이전에촬영되어 PPT 자료밖에 없지 않나 싶은데요. 혹시 해당 코드 자료를 따로 받을 수 있을까요? 저같은 경우에는 강의 자료를 가지고 우선 코드를 작성해보고, 이해 안되는 부분만 강의를 보는 식으로 활용하고 있는데요. 기본편 제외한 다른 강의처럼 코드와 설명이 같이 있는 자료가 있다면 큰 도움이 될 것 같아 여쭤봅니다.

  • java
  • jpa
흰머리오목눈이 댓글 1 좋아요 0 조회수 502

Gradle 7 KotlinDSL (build.gradle.kts) Querydsl 5 설정

실전! Querydsl

Gradle 7 build 설정 (KotlinDSL) build.gradle.kts import com.ewerk.gradle.plugins.tasks.QuerydslCompile plugins { java id("org.springframework.boot") version "2.7.10" id("io.spring.dependency-management") version "1.0.15.RELEASE" id("com.ewerk.gradle.plugins.querydsl") version "1.0.10" } group = "study" version = "0.0.1-SNAPSHOT" java.sourceCompatibility = JavaVersion.VERSION_11 val queryDslVersion = "5.0.0" configurations { compileOnly { extendsFrom(configurations.annotationProcessor.get()) } } repositories { mavenCentral() } dependencies { implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-web") implementation("com.querydsl:querydsl-jpa:${queryDslVersion}") annotationProcessor("com.querydsl:querydsl-apt:${queryDslVersion}") compileOnly("org.projectlombok:lombok") developmentOnly("org.springframework.boot:spring-boot-devtools") runtimeOnly("com.h2database:h2") annotationProcessor("org.springframework.boot:spring-boot-configuration-processor") annotationProcessor("org.projectlombok:lombok") testImplementation("org.springframework.boot:spring-boot-starter-test") } tasks.withType<Test> { useJUnitPlatform() } val querydslDir = "$buildDir/generated/querydsl" querydsl { jpa = true querydslSourcesDir = querydslDir } sourceSets.getByName("main") { java.srcDir(querydslDir) } configurations { named("querydsl") { extendsFrom(configurations.compileClasspath.get()) } } tasks.withType<QuerydslCompile> { options.annotationProcessorPath = configurations.querydsl.get() }

  • java
  • jpa
남재근 댓글 1 좋아요 1 조회수 2887

안녕하세요 스프링부트 JPA 관련 질문드립니다!

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

JPA 강의에서 EntityManagerfactory를 하나 만들어서 EntityManager가 필요할때마다 만들고 close()하는 방식으로 해야한다고 들었는데 스프링 부트에서는 private final EntityManager em; 이렇게 등록된 Bean에 대해서 의존성을 주입해서 만들게되면 문제가 없나요?? 이렇게 private final EntityManager em;로 하는 방식도 해당 객체가 생길때마다 새로 em이 만들어지는건가요??

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
돈우 댓글 1 좋아요 0 조회수 345

h2 오류 해결 정리 - 스프링부트 2.7.9 버전인 경우

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

안녕하십니까. 김영한 강사님의 '실전! 스프링부트 JPA 활용1' 강의를 듣고 있는 수강생 입니다. 섹션1 - 프로젝트 환경설정 -> JPA와 DB 설정, 동작확인 강의를 듣고 있는데 JUnit 4를 사용하여 MemberRepositoryTest를 테스트했을 때 오류가 났었는데, 그것을 해결한 방법을 정리하였습니다. 제목에서처럼 스프링부트 2.7.X 버전인 경우에 유효한 방법일 것 같고요. 사진처럼, gradle.build를 통해 라이브러리가 자동으로 설치되었을텐데, 본인의 스프링부트에 따라서 h2 버전이 맞춰서 설치됩니다. (사진에서는 2.1.214) 그럼 h2를 2.1.214를 설치하시면 됩니다. (강의는 1.4.199를 설치했지만, 스프링부트의 버전이 강사님과 저와 달랐기에... 오류가 터진 거였죠..) 이 오류를 해결한 경위는 다음과 같습니다. 처음의 오류입니다. Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set 오류가 나길래, database를 지정하라는 소리가 있어서 application.yml을 다음과 같이 수정했죠.. jpa의 database: h2를 추가해줬습니다. 그랬더니 다른 오류를 뱉습니다. 스크린샷은 못 찍었는데, 오류 밑부분에 Version mismatch, driver version is "0" but server version is "16" 이런 오류가 터졌습니다. 그래서 dialect가 문제인가? 해서 dialect를 지정해봐도 이 오류가 절대로 고쳐지지 않기에 검색해봤는데... 다른 글들은 스프링부트 버전을 낮춰라, h2 버전을 낮춰라 하시는데 스프링 부트에서 사용하는 H2 데이터베이스 클라이언트 버전이 현재 2.1.212로 확인되어 제보드립니다. 라는 제목의 인프런 글을 보면서 스프링부트에 설치된 라이브러리 버전대로 올려버리자!!! 라고 해서 버전 올려버렸습니다. (1) 기존에 설치된 h2 삭제 기존 h2를 삭제하고 + ' h2 다른버전으로 재설치시 파일 삭제' 글 참고하셔서 삭제하라는 것 삭제하고(C:\users\사용자명에 있습니다. .h2로 시작하는 파일과 .db 확장자로 끝나는 걸 삭제하시면 됩니다.) (2) 본인 스프링부트에 맞는 h2를 설치 하고, 강의대로 JDBC URL에 jdbc:h2:~/jpashop 을 입력하고 '연결 시험' 말고 '연결'을 누르시면 됩니다. 그리고 세션 끊고 다시 나와서 이번에는 jdbc:h2:tcp:// localhost/~/jpashop을 '연결 시험' 말고 '연결'을 누르시면 됩니다. 연결 시험 누르면 잘 안 되서 연결 누르시면 되는데, 그래도 안 되면 오타 확인해주시고 localhost 대신 ip 넣으시면 됩니다. (3) 오류나면 yml에서 MVCC=true 부분은 삭제 application.yml에서 강의로 보셨으면 url: jdbc:h2:tcp:// localhost/~/jpashop ;MVCC=true 이 부분에서 MVCC=true 이 있을텐데, MVCC=true 이 부분을 삭제해주시면 저의 경우엔 정상적으로 돌아갔습니다!!! (현재 강의 자료 소스로 첨부된 application.yml 그대로 하시면 잘 돌아갑니다.)

  • java
  • spring-boot
  • jpa
  • 스프링부트-jpa-활용-1
  • MemberRepository
  • 김영한
forchcollect 댓글 1 좋아요 0 조회수 2455

왜 반복문이라고 하나요?

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

안녕하세요! 조금 뜬금 없는 질문이기는 한데 궁금해서요 왜 for 문을 반복문이라고 하나요? 그러니까 어떤 의미에서의 반복인가요? apple 를 a p p l e 이렇게 5줄로 따로따로 가져오는 게 반복인가요?

  • python
sykb7000 댓글 4 좋아요 1 조회수 516

@Value 어노테이션을 사용해서 KEY를 주입받고 싶을때!!!

호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)

호돌맨님의 강의를 정말 열심히 듣고 있는 학생입니다. 다름이 아니라 호돌맨님 강의와는 다른 방향으로 한번 KEY를 세팅해 볼 수는 없을까?? 라는 생각이 들었고 혹시나 저와 같은 문제를 마주친 분들 및 피드백을 받고 싶어서 글을 남깁니다. @Value 어노테이션을 사용하여 application.yml(프로퍼티) 파일에서 값을 가져오는 방법을 적용해 보았습니다. //application.yml spring: # secret properties profiles: include: secret //application-secret.yml jwt: secret: "ZxV0wmgRyU8ZGYBRITUGcaOi03osZK1bsy7qEUUjgBs=" KEY 값을 application.yml 과 분리시키기 위해 별도로 .yml 파일을 생성하여 저장하였습니다. //AuthController @Slf4j @RestController @RequiredArgsConstructor @RequestMapping("/api/auth") public class AuthController { private final AuthService authService; @Value("${jwt.secret}") private String KEY; ~~~~ } //AuthResolver @Slf4j @Component @RequiredArgsConstructor public class AuthResolver implements HandlerMethodArgumentResolver { private final SessionJpaRepository sessionJpaRepository; /** * TODO:jwt.secret 이 null 인 문제... * why??? */ @Value("${jwt.secret}") private String KEY; ~~~ } AuthController 와 AuthResolver 에 @Value 어노테이션을 사용하여 KEY 변수에 .yml 파일에 정의한 secret 값을 주입받게끔 코드를 작성하였습니다. 그러나 AuthController 에서는 정상적으로 .yml 파일에 정의해준 KEY 값이 주입이 되었지만 이상하게 AuthResolver 에서는 KEY 값이 null 이 나오더라구요... @Component 어노테이션도 적용해서 Bean 객체로 만들어줬는데도 말이죠 ㅠㅠ https://wildeveloperetrain.tistory.com/143 이 블로그에서 힌트를 얻을 수 있었습니다. 바로 WebMvcConfig 에서 AuthResolver 를 등록할때 new 연산자를 사용하여 새로운 인스턴스를 등록해주었기 때문이었습니다. new AuthResolver(sessionJpaRepository) //WebMvcConfig private final AuthResolver authResolver; @Override public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) { // resolvers.add(new AuthResolver(sessionJpaRepository)); resolvers.add(authResolver); } 그래서 new 연산자를 사용하는 것이 아닌 빈으로 등록된 인스턴스를 사용하여서 해결할 수 있었습니다. 다른분들에게 도움이 되셨으면 하는 마음에 글을 남깁니다. 혹시나 개선해야 될 점이 있거나 잘못된 부분이 있으면 댓글로 알려주시면 감사하겠습니다!!

  • vue.js
  • aws
  • spring-boot
  • jpa
  • spring-security
leeseongju 댓글 4 좋아요 0 조회수 995

기존 시스템에 대해서 개발중에 복합키에 대해서 문의드립니다.

자바 ORM 표준 JPA 프로그래밍 - 기본편

기존 시스템에 대해서 개발중에 복합키에 대해서 문의드립니다. pk가 id로만 구성된 연관관계가 아닌, pk가 복합키(key1, key2)로 구성된 연관관계에 대해서 궁금합니다. 구글링 결과 @IdClass, @EmbeddedId로 가능하다고 하고, 관련 자료도 찾아 보았으나, 명쾌하게 해결되지 않아 질문드립니다. 해결 방법중 @IdClass로 처리해 볼까하고, 이때 테이블 관계가 식별과 비식별 관계인 경우 궁금합니다. 식별관계인경우 비식별 관계인 경우 각각에 대해서 JPA로 Entity로 구현이 어떻게 되는지 궁금합니다. 감사합니다.

  • java
  • jpa
빈빠 댓글 1 좋아요 0 조회수 634

Lombok으로 인한 jar build failed 발생하시는 분

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

test path에서 Lombok을 사용 할 경우, jar Build 과정에서 Lombok으로 인한 Build Failed가 발생합니다. (CMD) Task :compileTestJava FAILED error: package lombok does not exist error: cannot find symbol @Getter, @Setter, ... ... 해당 경우, 아래와 같이 build.gradle에 의존성을 추가하면 해결 가능합니다. 참고하시면 좋을 것 같습니다. (build.gradle) dependencies { testCompileOnly 'org.projectlombok:lombok:1.18.22' //테스트 환경에서 주입 testAnnotationProcessor 'org.projectlombok:lombok:1.18.24' //테스트환경의 어노테이션 주입 }

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
김준기 댓글 1 좋아요 0 조회수 1329

인기 태그

인프런 TOP Writers

주간 인기글