inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

코드 실행과 톰캣 8080포트 관련해서 강의내용과 다른 출력화면이 나옵니다

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 코드 실행을 했으나 로컬호스트 8080으로 접속시 보여주신 에러화면이 아닌 연결실패 화면이 나와, 정상실행이 안된건지 스프링부트 3. 버전이라 다르게 나오는지 모르겠습니다 3 이후부터는 자바17로 하라고 적혀있어 환경변수 및 인텔리제이 내부 프리퍼런스도 확인했습니다. 8080포트가 이미 열려있어 그럴수 있다는 답변 내용을 보고 맥에서 확인을 해보고 일부러 오라클측 포트도 열어서 테스트해봤는데 이미 8080포트가 열려져있지 않아서 kill 할수도 없었습니다 어떻게 확인해야할까요?

  • java
  • spring
  • mvc
  • spring-boot
박민수 댓글 2 좋아요 0 조회수 785

WebSecurityConfigurerAdapter deprecated 해결

미해결

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

@Bean public UserDetailsService userDetailsManager(BCryptPasswordEncoder bCryptPasswordEncoder){ InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager(); manager.createUser(User.withUsername("user") .password(bCryptPasswordEncoder.encode("userPass")) .roles("user") .build()); manager.createUser(User.withUsername("admin") .password(bCryptPasswordEncoder.encode("adminPass")) .roles("user", "admin") .build()); return manager; } @Bean public BCryptPasswordEncoder encodePassword(){ return new BCryptPasswordEncoder(); }

  • rest-api
  • spring-boot
치치 댓글 1 좋아요 1 조회수 749

ajax 인증 유지

미해결

스프링 시큐리티

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 security6로 ajax 로그인 구현을 따라하고 있습니다. 그런데 /api/login을 호출할 떄는 인증이 잘 되는데 그 후 /api/messages 를 호출하면 user, manager 둘다 항상 unauthorized로 나와서 보니 /api/messages를 호출할 때 securitycontext에 이전에 등록한 authentication을 찾을 수 없는데 원인과 해결방법을 찾을 수 없어 질문드립니다. github https://github.com/jjoylee/security-demo/tree/master/src/main/java/com/example/securitydemo/security/config

  • java
  • spring-boot
  • spring-security
Jeonghee Lee 댓글 2 좋아요 0 조회수 588

인텔리제이와 mysql 대신 사용 가능한가요?

미해결

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

안녕하세요! 이번에 큰맘 먹고 수강 신청한 초보 개발자 입니다. 인텔리제이 대신 이클립스를 사용해도 괜찮을까요? 꼭 mysql로 사용해야 하는 건지, 그렇다면 강의에서 설명해 주시는 내용과 차이가 많이 생기는 건가요? 위의 궁금한 사항에 답 부탁드립니다 :)

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

JdbcCursorItemReader ,JdbcBatchItemWriter한개의 db에서 데이터 전환

미해결

스프링 배치

안녕하세요 JdbcCursorItemReader 와 JdbcBatchItemWriter를 이용해 기존 데이터를 변환해서 다른 테이블로 이관하는 테스트를 진행하고 있습니다. 근데 JdbcCursorItemReader 에서 select는 잘되는데 JdbcBatchItemWriter에서 insert쿼리를 날릴때 무한대기 현상이 발생하는거 같습니다. @Bean public Job transferDBJob(JobRepository jobRepository, Step transferBookStep){ return new JobBuilder("transferDBJob",jobRepository) .start(transferBookStep) .build(); } @Bean public Step transferBookStep(JobRepository jobRepository, PlatformTransactionManager tm, JdbcPagingItemReader<TransSpecies> pagingSpeciesReader, ItemProcessor<TransSpecies, Species> transItemProcessor, JdbcBatchItemWriter<Species> transItemWriter) { return new StepBuilder("transferBookStep",jobRepository) .<TransSpecies,Species>chunk(10,tm) .reader(pagingSpeciesReader) .processor(transItemProcessor) .writer(transItemWriter) .build(); } @Bean public JdbcPagingItemReader<TransSpecies> pagingSpeciesReader(DataSource dataSource,PagingQueryProvider createQueryProvider) { return new JdbcPagingItemReaderBuilder<TransSpecies>() .name("transSpeciesReader") .pageSize(10) .fetchSize(10) .dataSource(dataSource) .rowMapper(new BeanPropertyRowMapper<>(TransSpecies.class)) .queryProvider(createQueryProvider) .build(); } @Bean public PagingQueryProvider createQueryProvider(DataSource dataSource) throws Exception { SqlPagingQueryProviderFactoryBean queryProvider = new SqlPagingQueryProviderFactoryBean(); queryProvider.setDataSource(dataSource); queryProvider.setSelectClause("SPECIESKEY,AUTHOR,TITLE"); queryProvider.setFromClause("FROM TRANSSPECIES"); Map<String, Order> sortKeys = new HashMap<>(1); sortKeys.put("SPECIESKEY", Order.ASCENDING); queryProvider.setSortKeys(sortKeys); return queryProvider.getObject(); } @Bean public ItemProcessor<TransSpecies,Species> transItemProcessor(){ return transSpecies ->{ Species species = new Species(); species.setRecKey(transSpecies.getSpeciesKey()); species.setTitle(transSpecies.getTitle()); species.setAuthor(transSpecies.getAuthor()); return species; }; } @Bean public JdbcBatchItemWriter<Species> transItemWriter(DataSource dataSource){ return new JdbcBatchItemWriterBuilder<Species>() .sql("INSERT INTO SPECIES VALUES (:recKey, :author, :title)") .beanMapped() .dataSource(dataSource) .build(); } 현재 작성한 간단하 코드이며 로그에는 현재 이렇게 무한대기 상태에 놓이게 됩니다. 확인 부탁드립니다 ㅠㅠ

  • spring-boot
  • spring-batch
object 댓글 1 좋아요 -1 조회수 714

Kafka Consumer GroupID

미해결

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

안녕하세요! 제가 강의를 다 듣고 난 뒤 추가로 공부를 해볼 생각으로 catalog-service 에서 example-catalog-topic 를 받은 뒤 상품의 개수를 파악 후 재고 유무의 따라 order-service 에 주문 상태를 전달 해주는 example-order-topic 를 만들어 구독 중인 order-service 에서 example-order-topic 에서 전달 받은 주문 상태를 업데이트 하는 로직을 구현하려고 했습니다. 로컬에서 order-service 와 catalog-service 의 consumer groupId 를 consumerGroupId 로 통일해서 사용 했을 때는 괜찮았으나, docker 에 올리니 example-order-topic 이 생성은 됐으나 구독 및 전달이 되지 않더라구요.... 혹시나 해서 order-service 의 consumer groupId 를 consumerGroupId2 로 변경하여 docker 에 올리니 정상 작동이 됩니다. 혹시 각각의 service 는 groupId 를 다르게 해주어야 할까요??

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
용정 댓글 1 좋아요 0 조회수 2779

인텔리제이에서 kt 파일에 문법에러가 안뜹니다.

미해결

실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)

src > main > kotlin 에 있는 파일이 인식되지 않는건지 자동완성도 안되고 문법에러도 안뜨네요.. test > kotlin 에 있는 .kt 파일에서는 잘 인식되는데 IDE 설정 문제일까요?

  • java
  • spring
  • kotlin
  • spring-boot
  • 리팩토링
ydg0330 댓글 1 좋아요 1 조회수 778

Actuator dependency and Swagger Stater 3.0.0 충돌 에러 해결

미해결

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

아래 블로그 참고해주세요. 저는 이걸로 해결했습니다. https://dkswnkk.tistory.com/672

  • rest-api
  • spring-boot
치치 댓글 2 좋아요 1 조회수 829

CQS 커멘드와 쿼리 분리에 대한 설명

미해결

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

public Long save(Member member) { em.persist(member); return member.getId(); } 리포지토리에 이 코드가 Member를 반환하지 않는 이유를 설명하면서 커멘드 메서드와 쿼리의 분리를 언급하셨습니다. 그래서 코드가 아무 값도 반환을 하지 않는 코드를 작성하실 줄 알았는데, 또 다음 설명에서 Id를 가져와 반환한 이유를 설명해주셨습니다. 그럼 Member 반환하는 코드는 CQS에 위배되지만, Id를 가져와 반환하는 것 까지는 CQS에 부합하는 코드라는 설명으로 이해해야하는 것인지 혼동됩니다. 제가 이해하기론 설명하고 반대되는 코드라고 생각되어 질문을 남깁니다. CQS에 대한 설명은 하셨지만, Id 정도는 의도가 있으니 Query해도 된다. 정도로 이해하면되는걸까요? 제가 이해못한 부분이 있다면 설명 부탁드리겠습니다. 감사합니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
유재선 댓글 1 좋아요 1 조회수 506

@MyAutoConfiguration 에서 궁금한게 있습니다.

해결됨

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

강사님께서 JdbcTemplate 과 JdbcTransactionManager는 따로 클래스를 만들고 적용하는 순서를 지정해야하는게 스프링 부트에는 있다고 하셨고 정석은 각각 다른 클래스로 만들고 적용하는 순서를 지정하는게 필요하다 이렇게 말씀해주셨는데 1.정석 방법을 찾아보고싶은데 어떻게 검색을 해야할까요? 그리고 편의 상 하나의 구성 정보에 넣으셨는데 2.하나의 구성정보하는게 더 간편한데 스프링은 정석인 방법 클래스를 나누어서 순서를 정해놓은 이유가 궁금합니다.

  • spring
  • spring-boot
  • spring-jdbc
cjh 댓글 1 좋아요 0 조회수 570

태그가 Account에 반영이 안됩니다.

미해결

스프링과 JPA 기반 웹 애플리케이션 개발

저장시에 findById로 가져온 부분에는 잘 들어가는데 현재 Account에는 반영이 되지 않습니다. 또한 새로고침을 하면 현재 account도, db 정보에도 null 로 뜹니다. Account 엔티티에 @ManyToMany private Set<Tag> tags = new HashSet<>(); 했습니다...

  • java
  • spring
  • spring-boot
  • jpa
  • thymeleaf
cqqwer 댓글 1 좋아요 0 조회수 398

스프링 데이터 JPA사용시 질문입니다.

미해결

실전! 스프링 데이터 JPA

[질문 내용] 여기에 질문 내용을 남겨주세요. 인터페이스로 repository을 만들고 JpaRepository상속할때 jpa활용1편 itemRepository처럼 save에 추가적으로 설정할때는 @Override 하고 기존 repositroy만드는거처럼 추가하면되나요? private final EntityManager em; public void save(Item item) { if (item.getId() == null) { em.persist(item); } else { em.merge(item); } }

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

상속관계에서 자식 클래스의 ID가 생성되는 시점에 대하여

미해결

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

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요. 영한 선생님의 강의를 듣고 난 후에 혼자서 상품 등록에 대한 부분을 책만 하지 않고 영화와 앨범까지 가능하도록 카테고리 부분을 도입하려고 하고 있습니다. 헌데 막상 값을 save해서 persist를 진행하면 hibernate sequence만 증가하고 새롭게 등록한 상품에 대한 insert문이 생성되지 않더군요 강의에서 세터를 열어두는 것보다 메서드를 만들어서 상품을 등록하는 것이 좋다고 해서 그런식으로 해봤습니다. 근데 컨트롤러 레벨에서 상품 엔티티를 생성하고 서비스로 넘기면 등록이 되는데 파라미터를 서비스쪽으로 넘겨서 상품엔티티를 서비스레벨에서 생성한 뒤에 saveItem을 호출하면 영속화가 되지 않더라구요. 결론적으로는 service레벨에 있는 saveItem메서드에는 Transactional(readonly = false)가 적용되어 있는데 서비스 레벨에서 상품 엔티티를 생성해서 강제로 플러시를 해보았더니 읽기 전용이라서 수정권한이 없다고 나옵니다. 이 둘의 차이점이 뭔가요? 코드 비교(ItemController) ItemService ItemRepository 강제로 플러시를 진행한 경우 발생한 에러 java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException( SQLError.java:129 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException( SQLError.java:97 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException( SQLError.java:89 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException( SQLError.java:63 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal( ClientPreparedStatement.java:1033 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal( ClientPreparedStatement.java:1009 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate( ClientPreparedStatement.java:1320 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate( ClientPreparedStatement.java:994 ) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate( ProxyPreparedStatement.java:61 ) ~[HikariCP-4.0.3.jar:na] at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate( HikariProxyPreparedStatement.java ) ~[HikariCP-4.0.3.jar:na] at com.p6spy.engine.wrapper.PreparedStatementWrapper.executeUpdate( PreparedStatementWrapper.java:94 ) ~[p6spy-3.8.2.jar:na] at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate( ResultSetReturnImpl.java:197 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch( NonBatchingBatch.java:46 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.persister.entity.AbstractEntityPersister.insert( AbstractEntityPersister.java:3375 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.persister.entity.AbstractEntityPersister.insert( AbstractEntityPersister.java:3937 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.action.internal.EntityInsertAction.execute( EntityInsertAction.java:107 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.engine.spi.ActionQueue.executeActions( ActionQueue.java:604 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.engine.spi.ActionQueue.lambda$executeActions$1( ActionQueue.java:478 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at java.base/java.util.LinkedHashMap.forEach( LinkedHashMap.java:684 ) ~[na:na] at org.hibernate.engine.spi.ActionQueue.executeActions( ActionQueue.java:475 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions( AbstractFlushingEventListener.java:344 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.event.internal.DefaultFlushEventListener.onFlush( DefaultFlushEventListener.java:40 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener( EventListenerGroupImpl.java:107 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.internal.SessionImpl.doFlush( SessionImpl.java:1407 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.internal.SessionImpl.flush( SessionImpl.java:1394 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) ~[na:na] at java.base/java.lang.reflect.Method.invoke( Method.java:566 ) ~[na:na] at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke( ExtendedEntityManagerCreator.java:362 ) ~[spring-orm-5.3.25.jar:5.3.25] at com.sun.proxy.$Proxy115.flush(Unknown Source) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) ~[na:na] at java.base/java.lang.reflect.Method.invoke( Method.java:566 ) ~[na:na] at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke( SharedEntityManagerCreator.java:311 ) ~[spring-orm-5.3.25.jar:5.3.25] at com.sun.proxy.$Proxy115.flush(Unknown Source) ~[na:na] at jpabook.jpashop.repository.ItemRepository.save ( ItemRepository.java:19 ) ~[classes/:na] at jpabook.jpashop.repository.ItemRepository$$FastClassBySpringCGLIB$$dc3fed7a.invoke(<generated>) ~[classes/:na] at org.springframework.cglib.proxy.MethodProxy.invoke( MethodProxy.java:218 ) ~[spring-core-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint( CglibAopProxy.java:793 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:163 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.dao.support .PersistenceExceptionTranslationInterceptor.invoke( PersistenceExceptionTranslationInterceptor.java:137 ) ~[spring-tx-5.3.25.jar:5.3.25] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:186 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept( CglibAopProxy.java:708 ) ~[spring-aop-5.3.25.jar:5.3.25] at jpabook.jpashop.repository.ItemRepository$$EnhancerBySpringCGLIB$$d6faf657.save(<generated>) ~[classes/:na] at jpabook.jpashop.service.ItemService.saveItem( ItemService.java:22 ) ~[classes/:na] at jpabook.jpashop.service.ItemService.saveBook( ItemService.java:35 ) ~[classes/:na] at jpabook.jpashop.service.ItemService$$FastClassBySpringCGLIB$$b9995082.invoke(<generated>) ~[classes/:na] at org.springframework.cglib.proxy.MethodProxy.invoke( MethodProxy.java:218 ) ~[spring-core-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint( CglibAopProxy.java:793 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:163 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation( TransactionInterceptor.java:123 ) ~[spring-tx-5.3.25.jar:5.3.25] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction( TransactionAspectSupport.java:388 ) ~[spring-tx-5.3.25.jar:5.3.25] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke( TransactionInterceptor.java:119 ) ~[spring-tx-5.3.25.jar:5.3.25] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:186 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) ~[spring-aop-5.3.25.jar:5.3.25] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept( CglibAopProxy.java:708 ) ~[spring-aop-5.3.25.jar:5.3.25] at jpabook.jpashop.service.ItemService$$EnhancerBySpringCGLIB$$bb01a48c.saveBook(<generated>) ~[classes/:na] at jpabook.jpashop.controller.ItemController.create( ItemController.java:35 ) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) ~[na:na] at java.base/java.lang.reflect.Method.invoke( Method.java:566 ) ~[na:na] at org.springframework.web.method.support .InvocableHandlerMethod.doInvoke( InvocableHandlerMethod.java:205 ) ~[spring-web-5.3.25.jar:5.3.25] at org.springframework.web.method.support .InvocableHandlerMethod.invokeForRequest( InvocableHandlerMethod.java:150 ) ~[spring-web-5.3.25.jar:5.3.25] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle( ServletInvocableHandlerMethod.java:117 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod( RequestMappingHandlerAdapter.java:895 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal( RequestMappingHandlerAdapter.java:808 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle( AbstractHandlerMethodAdapter.java:87 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.DispatcherServlet.doDispatch( DispatcherServlet.java:1071 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.DispatcherServlet.doService( DispatcherServlet.java:964 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.FrameworkServlet.processRequest( FrameworkServlet.java:1006 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.FrameworkServlet.doPost( FrameworkServlet.java:909 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at javax.servlet.http.HttpServlet.service( HttpServlet.java:696 ) ~[tomcat-embed-core-9.0.71.jar: 4.0.FR ] at org.springframework.web.servlet.FrameworkServlet.service( FrameworkServlet.java:883 ) ~[spring-webmvc-5.3.25.jar:5.3.25] at javax.servlet.http.HttpServlet.service( HttpServlet.java:779 ) ~[tomcat-embed-core-9.0.71.jar: 4.0.FR ] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:227 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:162 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.websocket.server.WsFilter.doFilter( WsFilter.java:53 ) ~[tomcat-embed-websocket-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:189 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:162 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.springframework.web.filter.RequestContextFilter.doFilterInternal( RequestContextFilter.java:100 ) ~[spring-web-5.3.25.jar:5.3.25] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:117 ) ~[spring-web-5.3.25.jar:5.3.25] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:189 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:162 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.springframework.web.filter.FormContentFilter.doFilterInternal( FormContentFilter.java:93 ) ~[spring-web-5.3.25.jar:5.3.25] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:117 ) ~[spring-web-5.3.25.jar:5.3.25] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:189 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:162 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal( CharacterEncodingFilter.java:201 ) ~[spring-web-5.3.25.jar:5.3.25] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:117 ) ~[spring-web-5.3.25.jar:5.3.25] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:189 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:162 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:177 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:97 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.authenticator.AuthenticatorBase.invoke( AuthenticatorBase.java:541 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:135 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:92 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:78 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:360 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:399 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:65 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:891 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1784 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:49 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1191 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:659 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( TaskThread.java:61 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at java.base/java.lang.Thread.run( Thread.java:834 ) ~[na:na]

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
김병국 댓글 1 좋아요 0 조회수 446

안녕하세요

미해결

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

안녕하세요. orderItem엔티티가 장바구니라고 생각하면 안되나요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
조소영 댓글 1 좋아요 0 조회수 451

UsernamePasswordAuthenticationToken 생성 질문입니다.

미해결

스프링 시큐리티

new UsernamePasswordAuthenticationToken(accountContext.getAccount(), null, accountContext.getAuthorities()); 아래처럼 토큰을 생성하신 이유가 궁금합니다. UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(accountContext.getAccount(),null, accountContext.getAuthorities()); 강사님께서 다른 질문에 답변해주신걸 보면 1. pricipal 객체는 UserDetails 타입의 Wrapper 객체가 아닌 실제 객체(?)를 참조하는게 더 낫다. 2. credentials는 이미 우리가 만든 CustomAuthenticationProvider에서 비밀번호를 검증했으므로 null로 세팅했다. 라고 이해햇습니다. 그렇다면 역으로 1. 다음 필터에서 principal 객체는 유저의 이름만 필요하다고하면 유저이름만 세팅해도 무방한가요? 즉, 어플리케이션에서 필요로하는 principal 객체가 무엇이냐에 따라 다르게 세팅하면 되는게 맞나요? 2. 다음 필터에서 credentials 항목을 필요로 한다면, 해당 항목도 null이아닌 account객체에 있는 패스워드로 채우는게 맞나요?

  • java
  • spring-boot
  • spring-security
이화평 댓글 1 좋아요 0 조회수 1417

영속성 컨텍스트와 트랜잭션 질문 드립니다.

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 강의 후반부에 최악이 아닌 경우(한 명의 회원이 2개의 Order를 가질때) 영속성 컨텍스트에 멤버가 있기 때문에 멤버조회 쿼리가 1번 덜 나간다고 설명해주셨는데요. 같은 트랜잭션이어야 동일한 영속성 컨텍스트를 바라보기 때문에 강의에서 설명한 내용이 들어맞을 거라 생각하는데요. 강의에서는 트랜잭션을 설정해주는 부분이 안보여서요. 혹시 트랜잭션을 따로 설정하지 않으면 같은 리퀘스트 스코프 내에서는 동일 트랜잭션을 보장하는 기본설정??같은게 있는건가요? 아니면 혹시 제가 놓친 부분이 있을까요?

  • java
  • spring
  • spring-boot
  • jpa
고래밥 댓글 1 좋아요 0 조회수 407

저같은 실수 없으시길 ㅜㅜ

해결됨

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

[질문 내용] 이런 바보같은 실수 하시는 분은 잘 없으시겠지만... 실제 소스하고 테스트 소스하고 패키지 구조가 같아야하네요..ㅎㅎ; 실제 OrderService를 jpabook.jpashop밑이 아닌 jpabook 밑에다가 Service 패키지 만들어서 테스트 코드에서 OrderService 빈 객체를 생성을 못하더라구요 한시간 반 주고 배웠습니다...!! ㅋㅋㅋㅋ 이런 질문글 아무도 없길래 구냥 남기고갑니다..!! o.s.test.context.TestContextManager : Caught exception while allowing TestExecutionListener [org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@3e74829] to prepare test instance [jpabook.jpashop.service.OrderServiceTest@6d4f266] org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'jpabook.jpashop.service.OrderServiceTest': Unsatisfied dependency expressed through field 'orderService'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'jpabook.service.OrderService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue( AutowiredAnnotationBeanPostProcessor.java:660 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject( AutowiredAnnotationBeanPostProcessor.java:640 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.annotation.InjectionMetadata.inject( InjectionMetadata.java:119 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties( AutowiredAnnotationBeanPostProcessor.java:399 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.populateBean( AbstractAutowireCapableBeanFactory.java:1431 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.autowireBeanProperties( AbstractAutowireCapableBeanFactory.java:417 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.test.context.support .DependencyInjectionTestExecutionListener.injectDependencies( DependencyInjectionTestExecutionListener.java:119 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.support .DependencyInjectionTestExecutionListener.prepareTestInstance( DependencyInjectionTestExecutionListener.java:83 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance( SpringBootDependencyInjectionTestExecutionListener.java:43 ) ~[spring-boot-test-autoconfigure-2.7.10.jar:2.7.10] at org.springframework.test.context.TestContextManager.prepareTestInstance( TestContextManager.java:248 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest( SpringJUnit4ClassRunner.java:227 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall( SpringJUnit4ClassRunner.java:289 ) ~[spring-test-5.3.26.jar:5.3.26] at org.junit.internal.runners.model.ReflectiveCallable.run ( ReflectiveCallable.java:12 ) ~[junit-4.13.1.jar:4.13.1] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock( SpringJUnit4ClassRunner.java:291 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild( SpringJUnit4ClassRunner.java:246 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild( SpringJUnit4ClassRunner.java:97 ) ~[spring-test-5.3.26.jar:5.3.26] at org.junit.runners.ParentRunner$4.run( ParentRunner.java:331 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner$1.schedule( ParentRunner.java:79 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner.runChildren( ParentRunner.java:329 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner.access$100( ParentRunner.java:66 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner$2.evaluate( ParentRunner.java:293 ) ~[junit-4.13.1.jar:4.13.1] at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate( RunBeforeTestClassCallbacks.java:61 ) ~[spring-test-5.3.26.jar:5.3.26] at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate( RunAfterTestClassCallbacks.java:70 ) ~[spring-test-5.3.26.jar:5.3.26] at org.junit.runners.ParentRunner$3.evaluate( ParentRunner.java:306 ) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner.run ( ParentRunner.java:413 ) ~[junit-4.13.1.jar:4.13.1] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run ( SpringJUnit4ClassRunner.java:190 ) ~[spring-test-5.3.26.jar:5.3.26] at org.junit.runner.JUnitCore.run ( JUnitCore.java:137 ) ~[junit-4.13.1.jar:4.13.1] at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs( JUnit4IdeaTestRunner.java:69 ) ~[junit-rt.jar:na] at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute( IdeaTestRunner.java:38 ) ~[junit-rt.jar:na] at com.intellij.rt.execution.junit.TestsRepeater.repeat( TestsRepeater.java:11 ) ~[idea_rt.jar:na] at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs( IdeaTestRunner.java:35 ) ~[junit-rt.jar:na] at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart( JUnitStarter.java:235 ) ~[junit-rt.jar:na] at com.intellij.rt.junit.JUnitStarter.main( JUnitStarter.java:54 ) ~[junit-rt.jar:na] Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'jpabook.service.OrderService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} at org.springframework.beans.factory.support .DefaultListableBeanFactory.raiseNoMatchingBeanFound( DefaultListableBeanFactory.java:1801 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support .DefaultListableBeanFactory.doResolveDependency( DefaultListableBeanFactory.java:1357 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support .DefaultListableBeanFactory.resolveDependency( DefaultListableBeanFactory.java:1311 ) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue( AutowiredAnnotationBeanPostProcessor.java:657 ) ~[spring-beans-5.3.26.jar:5.3.26] ... 32 common frames omitted

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
배인성 댓글 1 좋아요 2 조회수 1181

User class의 id 값 질문입니다

해결됨

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

안녕하세요 강사님. 강의를 듣다 질문이 생겨 글 남깁니다. 평소에 습관적으로 spring boot로 개발을 할 때에, User class에 @Id private Long id; 위와 같은 코드를 붙이곤 하는데요, 강사님 강의에선 response dto에만 id값이 들어가 있어서 질문 드립니다! 도메인 클래스에는 없어도 상관 없는 것일까요? 항상 좋은 강의 감사드립니다!

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

강의 교재 MemberRepositoryTest p14 질문이요

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. MemberRepositoryTest에 @SpringBootTest를 사용했는데, @DataJpaTest로는 안되는 건가요 ?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
코찔질이 댓글 1 좋아요 0 조회수 508

Test를 만들땐 항상 처음부터 시작하는 식으로 코드를 짜나요?

미해결

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

항상 Member객체를 만들고 시작하시는 것 같은데, 실제로는 멤버객체가 이미 있고 그걸 find하든 save하든 할거아니예요?? Test할땐 항상 처음부터 시작한다고 생각하고 로직을 짜나요?? 그리고 Test코드를 작성하는 이유는 무엇인가요? 기능 테스트를 할 때 항상 postman으로 했는데 그렇게 하는 것과 차이점이 있을까요 ??? 그리고 테스트코드에서는 main 디렉토리에 있는 클래스를 자유롭게 접근할 수 있는건가요? 예시에서도 MemoryMemberRepository를 쓰시길래 궁금해서 여쭤봅니다

  • java
  • spring
  • mvc
  • spring-boot
팡휘 댓글 1 좋아요 1 조회수 662

인기 태그

인프런 TOP Writers

주간 인기글