inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

섹션 1 Service Discovery Eureka Service Discovery 빌드 시 오류납니다.

해결됨

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

IntelliJ Community 2021.2.3 버전으로 진행하고 있습니다. 컴파일 오류는 나지는 않지만 빌드 시 오류가 납니다. 어떤 부분이 잘못 되었는지 모르겠습니다. 어떻게 해야 될까요? application.yml server: port: 8761 spring: application: name: discoveryservice eureka: client: register-with-eureka: false fetch-registry: false pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.6</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>discoveryservice</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>discoveryservice</name> <description>Demo project for Spring Boot</description> <properties> <java.version>17</java.version> <spring-cloud.version>2022.0.4</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <image> <builder>paketobuildpacks/builder-jammy-base:latest</builder> </image> </configuration> </plugin> </plugins> </build> </project> DiscoveryserviceApplication.java package com.example.discoveryservice; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaServer @SpringBootApplication public class DiscoveryserviceApplication { public static void main(String[] args) { SpringApplication.run(DiscoveryserviceApplication.class, args); } }

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
닉네임_한글 가능 댓글 3 좋아요 0 조회수 1799

redis 설정 시 application.yml을 수정하지 않는 이유

미해결

실습으로 배우는 선착순 이벤트 시스템

안녕하세요 강사님. spring-data-redis 의존성을 추가하여 디펜전시 받고 couponcountrepository.java 를 생성하였습니다. 보통 yml 파일에 redis 관련 설정도 해주는 것으로 알고있었는데 강의에서는 따로 yml에 redis 설정을 하지 않아서요. redis 설정을 안해준다면 어플리케이션에서 어떻게 redis와 연결될 수 있는지.. 궁금합니다.

  • java
  • docker
  • spring-boot
  • kafka
  • redis
LEE-YOONSEON 댓글 1 좋아요 0 조회수 1337

향후 강의 계획 질문

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 혹시 시스템 이나 서비스 설계에 관한 강의는 계획이 없으신지 궁금합니다^^

  • spring
  • spring-boot
  • prometheus
  • grafana
코딩앱등이 댓글 1 좋아요 0 조회수 439

JPA 순환참조 질문 드립니다.

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. EventGroupInformation.java @NotFound(action = NotFoundAction. IGNORE ) @JsonBackReference @ManyToOne(cascade = CascadeType. PERSIST , fetch = FetchType. LAZY ) @JoinColumn(name="CATEGORY_ID", insertable = false, updatable = false) private CategoryInformation categoryInformation; @BatchSize(size = 1000) @JsonManagedReference @OneToMany(mappedBy = "eventGroupInformation", cascade = CascadeType. PERSIST , fetch = FetchType. LAZY ) @Where(clause = "DBSTS = 'O' AND FEED_DISPLAY_YN = 'Y' AND START_DATE <= SYSDATE AND END_DATE >= SYSDATE ") @Column(insertable = false, updatable = false) private List<EventInformation> eventInformations; CategoryInformation.java @BatchSize(size = 1000) @JsonManagedReference @OneToMany(mappedBy = "categoryInformation", fetch = FetchType. LAZY ) @Where(clause = "DBSTS = 'O' AND START_DATE <= SYSDATE AND END_DATE >= SYSDATE ") @Column(insertable = false, updatable = false) //@Access(val ue = AccessType.PRO PERTY) public List<EventGroupInformation> eventGroupInformations; 여러개의 oneToMany가 걸려 있는 entitiy들을 강의 V5예제를 참고하여 개선중에 있습니다. CategoryInformation(Order) ㄴ EventGroupInformation(OrderItem) ㄴ EventInformation(Item) 이런 식에 구조인데요, 각각 oneToMany 입니다. EventGroupInformation과 EventInformation을 fetchJoin을 통해 쿼리를 @Query(value = "SELECT distinct eg FROM EventGroupInformation eg " + "LEFT JOIN FETCH eg.eventInformations e " + "WHERE eg.dbsts = :dbsts " + "AND eg.categoryId IN :categoryIds" ) 호출하면 해당 fetchjoin 쿼리 하나만 나갈꺼라고 생각을했는데, 갑자기 상위 entity인 CategoryInformation 테이블에 category_id(PK)로 category_id 개수만큼의 N+1 이슈가 발생 하였습니다. JsonBackReference, JsonManagedReference 해당 옵션을 주면 역참조가 안되어야 하는게 맞지 않나요?? 추가로 ManyToOne 쪽에 @JsonIgnore 도 추가 해보았으나 마찬가지입니다 ㅠ 제가 놓치고 있는게 있을까요? 김영한 선생님 강의 에서는 OrderItem-Item 관계에서 IN쿼리를 호출했을때 IN절에 포함되는 orderId기준의 상위 엔티티인 Order 테이블에 역으로 쿼리가 나가는건 못봤는데 말이죠.. (물론, 양방향 관계를 끊고 단방향 설정시 N+1 쿼리는 나가지 않습니다.)

  • java
  • spring
  • spring-boot
  • jpa
김정훈 댓글 2 좋아요 1 조회수 620

스프링부트 3버전

미해결

스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션

안녕하세요! 스프링부트 3버전으로만 지금 진행이 되어서 강의를 보며 따라가고 있는데 혹시 config할때 deprecate 된거를 3버전에 맞게 바꿀때 참고할만한게 있을까여?

  • spring-boot
  • junit
  • 소프트웨어-테스트
kjkkmk42397 댓글 1 좋아요 1 조회수 385

@Getter 애노테이션 역할

해결됨

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

@Getter @RequiredArgsConstructor public class ErrorResponse { private final String code; private final String message; } 여기서 @Getter 애노테이션을 쓰는 이유가 무엇일까요?

  • vue.js
  • aws
  • spring-boot
  • jpa
  • spring-security
자바마스터하자 댓글 1 좋아요 1 조회수 569

HATEOAS 3단계 적용 질문입니다 !

미해결

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-hateoas</artifactId> </dependency> 섹션 4 Level3 단계의 REST API 구현을 위한 HATEOAS 적용에서 오류가 발생했습니다. retrieveAllUsers @GetMapping("/users") public List<User> retrieveAllUsers() { return service.findAll(); } 전체 조회 메서드는 잘 작동이 되는데 retrieveUser @GetMapping("/users/{id}") public EntityModel<User> retrieveUser(@PathVariable int id) { User user = service.findOne(id); if (user == null){ throw new UserNotFoundException(String.format("ID[%s] not found", id)); } EntityModel<User> entityModel = EntityModel.of(user); WebMvcLinkBuilder linkTo = linkTo(methodOn(this.getClass()).retrieveAllUsers()); entityModel.add(linkTo.withRel("all-users")); return entityModel; } 이런 오류가 발생했습니다. 어떻게 해결해야 할까요?

  • rest-api
  • spring-boot
구본우 댓글 1 좋아요 0 조회수 409

@JdbcTest 관련 질문

미해결

토비의 스프링 부트 - 이해와 원리

안녕하세요. 섹션 10. 스프링 부트 자세히 살펴보기에서 스프링 부트의 자동 구성과 테스트로 전환하는 부분 보다가 궁금증이 생겨서 질문남깁니다. @HellobootTest를 @JdbcTest 또는 @SpringBootTest로 전환하는 부분에서 @JdbcTest같은 경우는 내장된 테스트용 db로 교체를 한다. 라고 설명을 해주셨습니다. 그리고 이전 강의에서 테스트를 위해 인메모리 db인 h2를 사용하도록 application.properties 에 설정을 하고 테스트를 진행했었습니다. 여기서 질문은 @JdbcTest를 사용하면 교체된다고 하는 db가 기존에 사용했던 h2 DB가 아닌 또 다른 DB로 전환된다는 말씀인건지가 헷갈려서 질문드립니다. 구체적으로 JdbcTemplateTest class가 jdbcTemplate을 테스트하기 위해 hello table을 db에 생성하고 insert하는 작업을 할 때, @HellobootTest 일 때는 h2 db를 사용하고 @JdbcTest로 교체했을 때는 다른 embedded db를 사용하는건가요? 감사합니다!

  • spring
  • spring-boot
  • spring-jdbc
sungsoo_kim5 댓글 2 좋아요 0 조회수 428

스프링 시큐리티 최신버전 코드 있을까요?

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

제일 최근에 질문한 글 참고해도 적용이 안되네요... 혹시 현재 버전에서 적용 가능한 코드가 있을까요? 아니면 참고할 수 있는 자료라도 있을까요? https://start.spring.io/ 에서 gradle로 생성해서 사용중입니다. 스프링 3.2버전 사용하고있어요.

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
흑후추 댓글 7 좋아요 0 조회수 2617

MemberRepositoryTest 실행문제

해결됨

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

소스파일 https://drive.google.com/file/d/1Laef4VrgEfQ0--86aUf1ENR9yi4LSwXF/view?usp=sharing 강사님이 하신대로 따라하는 중인데 처음 MemberRepositoryTest를 실행할 경우 테스트가 통과됩니다. 이후 @Rollback(false)를 추가해서 실행할 때부터 에러가 납니다. h2 DB를 삭제하고 처음부터 다시 해봐도 똑같이 처음 한번은 통과하고 그 다음부터 에러가 납니다. 아래는 로그 전문입니다. https://drive.google.com/file/d/1sLImPcsiNvBY04ZOmBWe6fVansFaWWPi/view?usp=sharing

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
이현석 댓글 1 좋아요 1 조회수 715

연결 부분

미해결

스프링 시큐리티

이런 내부 인증 과정을 세세하게 알 수 있어서 너무 좋습니다.. 근데 중간에 브레이킹 포인트 찍을 때 장면이 생략이 되서 중간 중간 부분이 아는 사람만 알게 넘어간 것 같아서 질문 드립니다.. 1) AbstractAuthenticaionProcesingFilter 해당 filter 에 attemptAuthentication 가 추상 메서드로 있는 상태에서 this.attemptAutehnticaion 했을 때 어떻게 UsernamPasswordAutenticationFilter에 구현 된 attemptAutentication이 실행 되는지 2) UserNamePasswordAuthenticationFilter에서 return this.getAuthenticationManager().authenticate(authRequest); public interface AuthenticationManager { Authentication authenticate(Authentication authentication) throws AuthenticationException; } impementation이 5개가 있는데 왜 ProviderManager 클래스로 넘어갈 수 있는 건가요? 3) ProviderManager에서 해당 인증을 처리할 수 있는 Provider인 DaoAuthenticationProvider에서 createSuccessAuthenticaion까지 가는 과정을 알 수 있을까요?

  • java
  • spring-boot
  • spring-security
송상근 댓글 2 좋아요 0 조회수 282

단축키 오류 Cannot perform refactoring. Unknown expression type

해결됨

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

Cannot perform refactoring. Unknown expression type Ctrl + Alt + V 단축키를 누르면 위와 같은 오류가 납니다. 어떻게 해야할까요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
민주 댓글 1 좋아요 0 조회수 434

인가서버에 login post요청

미해결

스프링 시큐리티 OAuth2

안녕하세요? 상태 : client server에서 고객 아이디와 비번을 client server controller로 보내서 여기서 restTemplate를 이용하여, localhost:8081 /oauth2/authorization/springoatuh2 로 get mapping하여 login page를 얻어왔습니다. 여기서 다시 한번 restTemplate을 이용하여 localhost:9000/login 으로 post 요청을 하면서 body (multipart/form-data) 에 username, password, _csrf(로그인페이지에 있는) 값을 보내어 access token을 받으려고 하였는데, null을 리턴받았습니다. response header 에 Location은 localhost:9000/login이 되었습니다. 이유는 쿠키가 전달되지 않아서 그랬습니다. 그래서, 첫번째 restTemplate으로 부터 받은 response에서 쿠키를꺼내서 두번째 restTemplate에 담아서 같이 보냈더니 localhost:9000/으로 response header Location이 잡혔습니다. 그래서, 인가서버에서 다음상황으로 그러니까 client server로 code를 전달해주는 과정으로 넘어가지가 않고 멈추었습니다. 인가서버 log level을 oauth2로 잡고 디버그해보았을때 로그인이 되어있고, redirect uri 가 `/` 로 되어있음도 확인하였습니다. postman 으로는 두 요청을 보내었을때 성공적으로 accesstoken을 받았는데, 질문 : 직접 client server의 controller에서 보낼때는 실패하는 이유가 무엇일까요? 뭔가 더 필요한 정보가 있을까요? state, nonce 와 같은 값들을 넣어주어야 할까요? 긴글 읽어주셔서 감사합니다.

  • java
  • spring
  • spring-boot
  • oauth
Wernner Kim 댓글 2 좋아요 0 조회수 343

/api/hello에 접근이 안됩니다 ㅠㅠ

해결됨

Spring Boot JWT Tutorial

package NewYear.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityCustomizer; import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.util.matcher.AntPathRequestMatcher; //기본적인 웹 보안을 활성화 하는 어노테이션 @Configuration @EnableWebSecurity @EnableMethodSecurity public class SecurityConfig { @Bean public WebSecurityCustomizer configure() { return (web) -> web.ignoring() .requestMatchers(new AntPathRequestMatcher("/h2-console/**")) .requestMatchers(new AntPathRequestMatcher("/favicon.ico")); } @Bean public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { return httpSecurity .csrf(AbstractHttpConfigurer::disable) .authorizeHttpRequests((registry) -> registry.requestMatchers(new AntPathRequestMatcher("/api/hello")).permitAll() .anyRequest().authenticated() ) .build(); } } @EnableWebSecurity를 비활성화도 해보고 커뮤니티에 올라온 코드로 다 해봤는 데 접근이 401에러로 접근이 안되는 것 같습니다 ㅠㅠ 해결방안이 있을까요 스프링부트 버전은 3.2.0입니다

  • spring-boot
  • jwt
다이니 댓글 2 좋아요 0 조회수 1143

findByName 메서드

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] findByName 메서드 리턴값이 result.stream ().findAny(); 인데 findFirst()가 아닌 findAny()를 사용하신 이유가 뭔가요? 둘중 아무거나 사용해도 상관없을까요?

  • java
  • spring
  • mvc
  • spring-boot
성이름 댓글 1 좋아요 0 조회수 254

어떻게 생성자 없이 number1과 number2에 값이 할당된건지 모르겠습니다.(DTO관련)

해결됨

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

안녕하세요 강사님먼저 첫번째 질문은 DTO (CalculatorMultiplyRequest request)를 매개변수로 받는 데, 자동으로 request 인스턴스가 생성되는 것이 이해가 가지 않습니다. 클래스는 생성자를 호출하기 위해서는 new키워드로 생성해야 하는 것으로 알고있는데, 이해가 잘 되지 않습니다.두번째 질문은 GET요청과는 다르게 POST요청은 Request 클래스 내부에 생성자 없이도 number1과 number2에 값이 할당되는 점입니다.어떻게 이게 가능할 수 있죠..?

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
mayo3610 댓글 1 좋아요 6 조회수 644

마이바티스 - 해쉬맵

해결됨

1시간만에 끝내는 spring boot rest api 서비스 개발

안녕하세요! 강의 잘듣고있습니다! 마이바티스 설정관련 parameter를 1개임에도 불구하고 HashMap으로 감싸서 보내는데 원래 마이바이스트 매개변수 넘길때 보통 해쉬맵으로 감싸서 보내나요? 또한가지 만약 넘겨줄 매개변수가 Object 타입 (id,username....), String 타입 2가지 혹은 그 이상인 경우에도 해쉬맵에 Object도 매핑해서 보내준 후 #{objec명.필드명} 이런식으로 빼쓰나요?

  • spring-boot
  • jpa
  • swagger
  • mybatis
youakdl 댓글 1 좋아요 0 조회수 598

anyRequest().authenticated() 접근 안 됨

미해결

스프링 시큐리티

@Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{ http .authorizeHttpRequests(authorize -> authorize .anyRequest().authenticated() ) ; return http.build(); } 이런 식으로 설정을 했는데 아예 권한이 없어서(?) 접근이 안되는 403 에러가 나네요.. 해당 부분은 SecurityConfig 설정 하는 방법이 변경 되어서 나는 다른 점일까요?

  • java
  • spring-boot
  • spring-security
송상근 댓글 1 좋아요 0 조회수 1032

test results가 안뜹니다.

해결됨

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

강사님처럼 이렇게 뜨는 것이 아니라 이렇게 뜨는데 묘하게 거슬려서요.. 따로 설정해야하는 부분인가요?

  • java
  • spring
  • mvc
  • spring-boot
Clain 댓글 1 좋아요 1 조회수 357

스프링 부트 2.x 버전 지원 중단

해결됨

토비의 스프링 부트 - 이해와 원리

안녕하세요! 최근에 강의를 수강하게 된 학생입니다. 다름이 아니라 강의에서 말씀해주신 SpringBoot 2.7.6 버전을 설치하려고 하는데 start.spring.io 에는 3.x버전들 밖에 보이지 않더라고요. 그래서 spring-cli를 사용해서 설치하려고 했으나 Initializr service call failed using 'https://start.spring.io' - service returned Bad Request: 'Invalid Spring Boot version '2.7.6', Spring Boot compatibility range is >=3.1.0' 라는 문구와 함께 설치가 되지 않아 공식 깃허브를 찾아보았더니 2.x 버전에 대해서는 지원이 중단되었다고 적혀있었습니다. https://github.com/spring-io/start.spring.io/issues/1357 Commercial support에 대해서는 25년까지 가능하다고 되어있는데, Commercial support(유료 지원?)이라는 것이 정확하게 어떤 것인지 이해가 잘 되지 않습니다. 그렇기에 Commercial support와 SpringBoot 3.1.6 버전을 설치하는 것 둘 중에 어떤 것이 더 나을지 질문드립니다ㅠㅠ 감사합니다!

  • spring
  • spring-boot
lunapark 댓글 1 좋아요 0 조회수 3622

인기 태그

인프런 TOP Writers

주간 인기글