inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

테이블 생성 안됨

해결됨

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

엔티티와 테이블 생성 코드 모두 작성하고 실행을 했는데 테이블 생성이 안됩니다.. https://drive.google.com/drive/u/1/my-drive 여기에 압축 파일 올렸습니다. 확인해봐주시면 감사하겠습니다..!

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
coolcool35 댓글 2 좋아요 0 조회수 743

[파이썬 Print 사용법(1-4) - New 2023] NameError

미해결

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

파이썬 Print 사용법(1-4) - New 2023 강의에서 print로 출력하려고 하는데 자꾸 아래와 같은 오류가 떠요... 입력 값: 출력값: >>> print(f'm : {m:,}') Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'm' is not defined Python Version : 3.11.2 64-bit

  • python
Ilyeop Kang 댓글 1 좋아요 0 조회수 367

MyBatis 테스트 오류 질문입니다

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

MyBatis 적용2 - 설정과 실행 부분 테스트 오류 발생해서 질문 드립니다 JdbcTemplateV3 까지 잘 되었는데 MyBatis 적용하면 오류 발생합니다. MyBatis 관련된 모든 Bean 들이 생성안된 것 같아요. 오류 로그가 너무 길어서 일부만 첨부드립니다 java.lang.IllegalStateException: Failed to load ApplicationContext Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'itemController' defined in file Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'hello.itemservice.config.MyBatisConfig': Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'itemMapper' Caused by: java.lang.ClassNotFoundException: Cannot find class: Item =======ItemMapper.xml========= <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="hello.itemservice.repository.mybatis.ItemMapper"> <insert id="save" useGeneratedKeys="true" keyProperty="id"> insert into item (item_name, price, quantity) values (#{itemName}, #{price}, #{quantity}) </insert> <update id="update"> update item set item_name = #{updateParam.itemName}, price = #{updateParam.price}, quantity = #{updateParam.quantity} where id = #{id} </update> <select id="findById" resultType="Item"> select id, item_name, price, quantity from item where id = #{id} </select> <select id="findAll" resultType="Item"> select id, item_name, price, quantity from item <where> <if test="itemName != null and itemName != ''"> and item_name like concat('%',#{itemName},'%') </if> <if test="maxPrice != null"> and price &lt;= #{maxPrice} </if> </where> </select> </mapper>

  • spring
빈빈 댓글 2 좋아요 0 조회수 1657

Dto로 매핑을 하는데 오류가 생깁니다.

해결됨

실전! 스프링 데이터 JPA

안녕하세요 강의 잘보고 있습니다. 혼자 공부하면서 이것저것 해보고 있습니다. 다름이 아니라 DB로부터 DTO로 바로 조회를 하고 싶은데 막상 쿼리를 실행하면 적절한 생성자가 존재하지 않는다고 나옵니다. 해당 Dto에 롬복을 이용해서 생성자 어노테이션을 붙여보기도 하고 직접 생성해서 코드를 실행 시켜보기도 하였으나 제대로 동작하지 않습니다. 혹시 한번만 봐주실수 있나요? 환경은 다음과 같습니다. 자바 : 17 스프링부트 : 3.0.2 DB : 마리아DB 파일링크 https://drive.google.com/file/d/1mJ4S-I938BXV7dtyono_uZfSXQxKtE8Q/view?usp=share_link

  • java
  • spring
  • spring-boot
  • jpa
이상민 댓글 1 좋아요 1 조회수 1183

Retrofit 질문입니다.

미해결

[중급편] 친절한 JETPACK 개론 <상> (Android Kotlin)

MyApi.kt interface MyApi { @GET("posts/1") suspend fun getPost1() : Post @GET("posts/{number}") suspend fun getPostNumber( @Path("number") number : Int ) : Post } 강의: Retrofit 간단한 예제 변경 시간 3분15초 에서 suspend fun getPost1() : call<Post>에서 suspend fun getPost1() : Post로 수정하셨느데 무슨 차이가 있나요?

  • android
  • kotlin
  • jetpack
zzzzz 댓글 1 좋아요 0 조회수 523

강의 자료 부탁드려요 ㅎ

미해결

팀 개발을 위한 Git, GitHub 입문

uty1993@naver.com 원래 공부하면서 들을때 타자 치면서 공부했는데, 강의 자료 받아봐서 직접 비교하면서 자기개발하려고 합니다.

  • git
  • github
  • 버전관리시스템
uty1993 댓글 1 좋아요 0 조회수 339

chapter02-02-ex1 정렬 질문 있습니다!

미해결

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

10자리까지만 드래그 되어야 하는게 아닌가요..? 뭔가 정렬이 된 것 같은데, 자릿수를 셀 수가 없어서요.. 어떻게 해야 하나요?

  • python
민경 댓글 1 좋아요 0 조회수 306

optionalKeys, requiredKeys

미해결

스프링 배치

안녕하세요 20:00 부분입니다 옵셔널 키는 없어도 된다고 앞에서 해주셨는데 왜 체크를 하는건가요 ?!

  • spring-boot
  • spring-batch
H K 댓글 1 좋아요 0 조회수 574

@column 어노테이션 관련하여 질문드립니다.

미해결

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

안녕하세요 강사님. 이번 강의에서는 UserLoanHistory 클래스를 @Entity로 사용하는데요, userId, bookName 등 변수에 @column 어노테이션을 붙이지 않은 것을 확인할 수 있었습니다. 저번에 강사님께서 column 어노테이션이 없으면 변수명과 동일한 db 필드에 매핑된다고 하셨습니다. 이번강의에서 코드가 정상적으로 동작하는데 column 어노테이션이 없을때 자바의 camel case 변수가 db의 snake 형태의 이름으로 자동으로 변환되어 쿼리문이 실행되는 건지 궁금합니다.

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
황인태 댓글 1 좋아요 2 조회수 661

@TestConfiguration 유무 차이 질문

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

안녕하세요, 코드 실행중에 질문이 있어 문의 드립니다. package hello.springtx.propagation; import lombok.extern.slf4j.Slf4j; 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.boot.test.context.TestConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.TransactionDefinition; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.UnexpectedRollbackException; import org.springframework.transaction.interceptor.DefaultTransactionAttribute; import javax.sql.DataSource; import static org.assertj.core.api.Assertions.*; @SpringBootTest @Slf4j public class BasicTxTest { @Autowired PlatformTransactionManager txManager; @TestConfiguration static class Config{ @Bean public PlatformTransactionManager transactionManager(DataSource dataSource){ return new DataSourceTransactionManager(dataSource); } } @Test void commit(){ log.info("트랜잭션 시작"); TransactionStatus status = txManager.getTransaction(new DefaultTransactionAttribute()); log.info("트잭 커밋 시작"); txManager.commit(status); log.info("트잭 커밋 완료"); } @Test void rollback(){ log.info("트랜잭션 시작"); TransactionStatus status = txManager.getTransaction(new DefaultTransactionAttribute()); log.info("트잭 롤백 시작"); txManager.rollback(status); log.info("트잭 롤백 완료"); } @Test void double_commit(){ log.info("트랜(1) 시작"); TransactionStatus status1 = txManager.getTransaction(new DefaultTransactionAttribute()); log.info("트랜(1) 커밋"); txManager.commit(status1); log.info("트랜(2) 시작"); TransactionStatus status2 = txManager.getTransaction(new DefaultTransactionAttribute()); log.info("트랜(2) 커밋"); txManager.commit(status2); } @Test void double_commit_rollback() { log.info("트랜잭션1 시작"); TransactionStatus tx1 = txManager.getTransaction(new DefaultTransactionAttribute()); log.info("트랜잭션1 커밋"); txManager.commit(tx1); log.info("트랜잭션2 시작"); TransactionStatus tx2 = txManager.getTransaction(new DefaultTransactionAttribute()); log.info("트랜잭션2 롤백"); txManager.rollback(tx2); } @Test //논리 두개 정상 커밋 -> 물리 커밋 void inner_commit() { log.info("외부 트랜잭션 시작"); TransactionStatus outer = txManager.getTransaction(new DefaultTransactionAttribute()); log.info("outer.isNewTransaction()={}", outer.isNewTransaction()); /** * 외부 트랜잭션 이어받아서 실행 * 그래서 commit 해도 아무런 변화도 없음, 당연 트잭 생성도 없음 */ log.info("내부 트랜잭션 시작"); TransactionStatus inner = txManager.getTransaction(new DefaultTransactionAttribute()); log.info("inner.isNewTransaction()={}", inner.isNewTransaction()); log.info("내부 트랜잭션 커밋"); txManager.commit(inner);//변화가 없다고 볼수 있따 log.info("외부 트랜잭션 커밋"); txManager.commit(outer); } @Test//내부 commit 외부 rollback -> rollback void outer_rollback() { log.info("외부 트랜잭션 시작"); TransactionStatus outer = txManager.getTransaction(new DefaultTransactionAttribute()); log.info("내부 트랜잭션 시작"); TransactionStatus inner = txManager.getTransaction(new DefaultTransactionAttribute()); log.info("내부 트랜잭션 커밋"); txManager.commit(inner); //변화가 없다고 볼수 있따 log.info("외부 트랜잭션 롤백"); txManager.rollback(outer); } @Test //내부 : rollback , 외부 : commit : rollback void inner_rollback() { log.info("외부 트랜잭션 시작"); TransactionStatus outer = txManager.getTransaction(new DefaultTransactionAttribute()); log.info("내부 트랜잭션 시작"); TransactionStatus inner = txManager.getTransaction(new DefaultTransactionAttribute()); log.info("내부 트랜잭션 롤백"); txManager.rollback(inner); log.info("외부 트랜잭션 커밋"); assertThatThrownBy(() -> txManager.commit(outer)) .isInstanceOf(UnexpectedRollbackException.class); } @Test//외부 내부 별개의 커넥션으로 작동, 각각 따로 작동! PROPAGATION_REQUIRES_NEW! void inner_rollback_requires_new() { log.info("외부 트랜잭션 시작"); TransactionStatus outer = txManager.getTransaction(new DefaultTransactionAttribute()); log.info("outer.isNewTransaction()={}", outer.isNewTransaction()); log.info("내부 트랜잭션 시작"); DefaultTransactionAttribute definition = new DefaultTransactionAttribute(); definition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); TransactionStatus inner = txManager.getTransaction(definition); log.info("inner.isNewTransaction()={}", inner.isNewTransaction()); log.info("내부 트랜잭션 롤백"); txManager.rollback(inner); //롤백 log.info("외부 트랜잭션 커밋"); txManager.commit(outer); //커밋 } } 해당 코드에서, @TestConfiguration static class Config{ @Bean public PlatformTransactionManager transactionManager(DataSource dataSource){ return new DataSourceTransactionManager(dataSource); } } 이부분은 boot에서 자동 으로 생성해주는 부분이니 빼도 문제없이 작동한다고 생각했습니다. 그래서 돌려보니, 모든 테스트가 통과는 됩니다. 그러나, inner_rollback() 에서만 문제가 있어 문의 드립니다. 2023-03-05 18:03:46.478 INFO 11608 --- [ Test worker] hello.springtx.propagation.BasicTxTest : 외부 트랜잭션 시작 2023-03-05 18:03:46.479 DEBUG 11608 --- [ Test worker] o.s.orm.jpa.JpaTransactionManager : Creating new transaction with name [null]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT 2023-03-05 18:03:46.479 DEBUG 11608 --- [ Test worker] o.s.orm.jpa.JpaTransactionManager : Opened new EntityManager [SessionImpl(1559037239<open>)] for JPA transaction 2023-03-05 18:03:46.479 DEBUG 11608 --- [ Test worker] o.s.orm.jpa.JpaTransactionManager : Exposing JPA transaction as JDBC [org.springframework.orm.jpa.vendor.HibernateJpaDialect$HibernateConnectionHandle@6ee1ddcf] 2023-03-05 18:03:46.479 INFO 11608 --- [ Test worker] hello.springtx.propagation.BasicTxTest : 내부 트랜잭션 시작 2023-03-05 18:03:46.479 DEBUG 11608 --- [ Test worker] o.s.orm.jpa.JpaTransactionManager : Found thread-bound EntityManager [SessionImpl(1559037239<open>)] for JPA transaction 2023-03-05 18:03:46.479 DEBUG 11608 --- [ Test worker] o.s.orm.jpa.JpaTransactionManager : Participating in existing transaction 2023-03-05 18:03:46.479 INFO 11608 --- [ Test worker] hello.springtx.propagation.BasicTxTest : 내부 트랜잭션 롤백 2023-03-05 18:03:46.479 DEBUG 11608 --- [ Test worker] o.s.orm.jpa.JpaTransactionManager : Participating transaction failed - marking existing transaction as rollback-only 2023-03-05 18:03:46.479 DEBUG 11608 --- [ Test worker] o.s.orm.jpa.JpaTransactionManager : Setting JPA transaction on EntityManager [SessionImpl(1559037239<open>)] rollback-only 2023-03-05 18:03:46.488 DEBUG 11608 --- [ Test worker] cResourceLocalTransactionCoordinatorImpl : JDBC transaction marked for rollback-only (exception provided for stack trace) java.lang.Exception: exception just for purpose of providing stack trace at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.markRollbackOnly( JdbcResourceLocalTransactionCoordinatorImpl.java:324 ) ~[ hibernate-core-5.6.7.Final .jar: 5.6.7.Final ] at org.hibernate.engine.transaction.internal.TransactionImpl.markRollbackOnly( TransactionImpl.java:203 ) ~[ hibernate-core-5.6.7.Final .jar: 5.6.7.Final ] at org.hibernate.engine.transaction.internal.TransactionImpl.setRollbackOnly( TransactionImpl.java:224 ) ~[ hibernate-core-5.6.7.Final .jar: 5.6.7.Final ] at org.springframework.orm.jpa.JpaTransactionManager$JpaTransactionObject.setRollbackOnly( JpaTransactionManager.java:712 ) ~[spring-orm-5.3.17.jar:5.3.17] at org.springframework.orm.jpa.JpaTransactionManager.doSetRollbackOnly( JpaTransactionManager.java:611 ) ~[spring-orm-5.3.17.jar:5.3.17] at org.springframework.transaction.support .AbstractPlatformTransactionManager.processRollback( AbstractPlatformTransactionManager.java:844 ) ~[spring-tx-5.3.17.jar:5.3.17] at org.springframework.transaction.support .AbstractPlatformTransactionManager.rollback( AbstractPlatformTransactionManager.java:809 ) ~[spring-tx-5.3.17.jar:5.3.17] at hello.springtx.propagation.BasicTxTest.inner_rollback( BasicTxTest.java:117 ) ~[test/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:77 ) ~[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:568 ) ~[na:na] at org.junit.platform.commons.util.ReflectionUtils.invokeMethod( ReflectionUtils.java:725 ) ~[junit-platform-commons-1.8.2.jar:1.8.2] at org.junit.jupiter.engine.execution.MethodInvocation.proceed( MethodInvocation.java:60 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed( InvocationInterceptorChain.java:131 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.extension.TimeoutExtension.intercept( TimeoutExtension.java:149 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod( TimeoutExtension.java:140 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod( TimeoutExtension.java:84 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0( ExecutableInvoker.java:115 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0( ExecutableInvoker.java:105 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed( InvocationInterceptorChain.java:106 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed( InvocationInterceptorChain.java:64 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke( InvocationInterceptorChain.java:45 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke( InvocationInterceptorChain.java:37 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke( ExecutableInvoker.java:104 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke( ExecutableInvoker.java:98 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7( TestMethodTestDescriptor.java:214 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod( TestMethodTestDescriptor.java:210 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute( TestMethodTestDescriptor.java:135 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute( TestMethodTestDescriptor.java:66 ) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:151 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at java.base/java.util.ArrayList.forEach( ArrayList.java:1511 ) ~[na:na] at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at java.base/java.util.ArrayList.forEach( ArrayList.java:1511 ) ~[na:na] at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.submit( SameThreadHierarchicalTestExecutorService.java:35 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.HierarchicalTestExecutor.execute( HierarchicalTestExecutor.java:57 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support .hierarchical.HierarchicalTestEngine.execute( HierarchicalTestEngine.java:54 ) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:107 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:88 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0( EngineExecutionOrchestrator.java:54 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams( EngineExecutionOrchestrator.java:67 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:52 ) ~[na:na] at org.junit.platform.launcher.core.DefaultLauncher.execute( DefaultLauncher.java:114 ) ~[na:na] at org.junit.platform.launcher.core.DefaultLauncher.execute( DefaultLauncher.java:86 ) ~[na:na] at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute( DefaultLauncherSession.java:86 ) ~[na:na] at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute( SessionPerRequestLauncher.java:53 ) ~[na:na] at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses( JUnitPlatformTestClassProcessor.java:99 ) ~[na:na] at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000( JUnitPlatformTestClassProcessor.java:79 ) ~[na:na] at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop( JUnitPlatformTestClassProcessor.java:75 ) ~[na:na] at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop( SuiteTestClassProcessor.java:61 ) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:77 ) ~[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:568 ) ~[na:na] at org.gradle.internal.dispatch.ReflectionDispatch.dispatch( ReflectionDispatch.java:36 ) ~[na:na] at org.gradle.internal.dispatch.ReflectionDispatch.dispatch( ReflectionDispatch.java:24 ) ~[na:na] at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch( ContextClassLoaderDispatch.java:33 ) ~[na:na] at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke( ProxyDispatchAdapter.java:94 ) ~[na:na] at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run( TestWorker.java:193 ) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName( TestWorker.java:129 ) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute( TestWorker.java:100 ) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute( TestWorker.java:60 ) ~[na:na] at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute( ActionExecutionWorker.java:56 ) ~[na:na] at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call ( SystemApplicationClassLoaderWorker.java:133 ) ~[na:na] at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call ( SystemApplicationClassLoaderWorker.java:71 ) ~[na:na] at worker.org.gradle.process.internal.worker.GradleWorkerMain.run ( GradleWorkerMain.java:69 ) ~[gradle-worker.jar:na] at worker.org .gradle.process.internal.worker.GradleWorkerMain.main( GradleWorkerMain.java:74 ) ~[gradle-worker.jar:na] 2023-03-05 18:03:46.490 INFO 11608 --- [ Test worker] hello.springtx.propagation.BasicTxTest : 외부 트랜잭션 커밋 2023-03-05 18:03:46.526 DEBUG 11608 --- [ Test worker] o.s.orm.jpa.JpaTransactionManager : Initiating transaction commit 2023-03-05 18:03:46.526 DEBUG 11608 --- [ Test worker] o.s.orm.jpa.JpaTransactionManager : Committing JPA transaction on EntityManager [SessionImpl(1559037239<open>)] 2023-03-05 18:03:46.527 DEBUG 11608 --- [ Test worker] cResourceLocalTransactionCoordinatorImpl : On commit, transaction was marked for roll-back only, rolling back 2023-03-05 18:03:46.527 DEBUG 11608 --- [ Test worker] o.s.orm.jpa.JpaTransactionManager : Closing JPA EntityManager [SessionImpl(1559037239<open>)] after transaction 해당 로그가 뜨면서 테스트 통과는 됩니다. 왜 이런 오류가 발생하는지 조금 이해가 안되서요, 그리고 내부에서 rollback을 했음에도 불구하고, Global transaction is marked as rollback-only but transactional code requested commit 보이지 않습니다. 왜 이런 문제가 발생하는 걸까요??

  • spring
hi_man159 댓글 1 좋아요 0 조회수 991

_open 을 판별하는 매서드나 클래스 정보를 알려주실수 있나요?

해결됨

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

request에서 담긴 내용을 Cotroller에게 넘겨주기전에 DispatchServlet에서 구분하고 값을 변경해서 넣어주는데 관련된 매서드나 클래스를 알수 있을까요?

  • spring
  • mvc
티벳로보 댓글 1 좋아요 0 조회수 472

MemberServiceTest 실행 시 오류

해결됨

스프링 핵심 원리 - 기본편

아래는 MemberServiceTest의 코드입니다 package hello.core.member; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.util.Assert; public class MemberServiceTest { MemberService memberService = new MemberServiceImpl(); @Test void join() { //given Member member = new Member(1L, "memberA", Grade.VIP); //when memberService.join(member); Member findMember = memberService.findMember(1L); //then Assertions.assertThat(member).isEqualTo(findMember); } }

  • spring
  • 객체지향
감스트의웃음노예 댓글 1 좋아요 1 조회수 555

알고리즘 교안 68p 오류

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

#include<bits/stdc++.h> using namespace std; vector<pair<int, int>> v; bool cmp(pair<int, int> a, pair<int, int> b){ return a.first > b.first; } int main(){ for(int i = 10; i >= 1; i--){ v.push_back({i, 10, -i}); } 푸시백에 빨간줄이 생기는데 왜그럴까요 인스턴스가 없다는데 뭔지 모르겟네요 }

  • c++
  • 코딩-테스트
조현성 댓글 1 좋아요 0 조회수 468

좋은 강의 ..,,

미해결

쉽고 빠르게 익히는 PowerPoint 2016

좋은 강의 였습니다. BEST !!

  • ms-office
  • PowerPoint
박상수 댓글 1 좋아요 0 조회수 414

"v-bind 사용은 해당 데이터가 반응형인지 아닌지에 달려있다"는 이해가 옳은 건가요?

미해결

Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, template refs 수업에서 ref="input" :ref="el => itemRefs.push(el.textContent)" 이와 같이, 전자는 v-bind 없이 사용했고, 함수를 ref로 사용할 땐 v-bind를 사용했습니다. 이 이유가 무엇일까요? 비슷한 맥락의 의문으로, 자식 컴포넌트에서 정의된 props (ex. props = ['data'])로 데이터를 내려줄 때, 부모 컴포넌트의 script에서 선언한 정적인 데이터 (ex. const msg = "message")의 경우는 < ... data="msg" > 반응형 데이터 (ex. const msgRef = ref("message")의 경우는 < ... :data="msgRef"> 로 사용하는 것으로 이해하고 있습니다. 즉, v-bind의 사용은 데이터가 반응형인지 아닌지에 따라 판단한다..고 이해하고 있는데요, 이게 옳은 이해인가요?

  • vue.js
댓글 1 좋아요 0 조회수 399

API가 어떤 맥락으로 쓰였는지 잘 모르겠습니다..

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 영한님께서 http의 body에 직접 데이터를 넣는 것을 API 방식이라 하셨는데 이 부분이 잘 이해가 되지 않습니다.😢 우선 저는 API를 모르는 상태이기 때문에 API에 대해 찾아봤습니다. 그랬더니 아래와 같은 내용이 나왔습니다. 운영체제와 응용 프로그램 사이의 통신에 사용되는 언어나 메시지 형식 구현방식을 알지 못하는 서비스와 통신할 수 있게 해줌 (like 가게 직원) 웹기반 데이터 반환 시스템 그런데 API에 대해 이해하고 나니 더더욱 왜 json을 body에 직접 넣는 방식을 API 방식이라 하셨는지 이해가 되지 않았습니다.... 어떤 의미에세 'API 방식'이라 하셨는지 알려주시면 감사하겠습니다.

  • java
  • spring
  • mvc
  • spring-boot
개발자 아자뵤 댓글 1 좋아요 0 조회수 630

conditional 적용 문의

미해결

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

안녕하세요, 자동구성 설정 부분에서 예시로 config파일에 memorycontroller를 빈으로 설정 후 conditional 동작 여부 확인하는 부분을 학습하던 중 궁금한 점이 생겨서 문의드립니다. 빈으로 등록한 controller에도 conditionalOnMissingBean을 적용해서 원하는 controller만 빈으로 등록되게 할수 있을까요? =========================== 동작을 예상한 시나리오는 Memory2Controller가 빈으로 등록이 되어서 memory2 로그가 찍히는 걸 예상했는데 설정이 잘못된건지 잘모르겠습니다. 아니면 controller에는 conditional적용을 할순없는걸까요?

  • spring
  • spring-boot
yamyam_Y 댓글 1 좋아요 0 조회수 645

DB 연동 부분에서 에러가 발생합니다.

미해결

스프링 부트 웹 개발 입문 - 따라하며 배우기

에러 코드 중 일부입니다. This application has no explicit mapping for /error, so you are seeing this as a fallback. Sun Mar 05 16:31:35 KST 2023 There was an unexpected error (type=Internal Server Error, status=500). nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: null ### The error may exist in file [build\resources\main\sqlmapper\v1\CoffeeMenu.xml] ### The error may involve com.boot.sailing.v1.dao.MenuDao.doList ### The error occurred while executing a query ### Cause: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: null org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: null ### The error may exist in file [build\resources\main\sqlmapper\v1\CoffeeMenu.xml] ### The error may involve com.boot.sailing.v1.dao.MenuDao.doList ### The error occurred while executing a query ### Cause: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: null CoffeeMenu.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.boot.sailing.v1.dao.MenuDao"> <!-- 메뉴 조회 --> <select id="doList" resultType="map"> SELECT no, coffee, kind, price, DATE_FORMAT(reg_day,'%Y.%m.%d') AS reg_day, DATE_FORMAT(mod_day,'%Y.%m.%d') AS mod_day FROM coffee_menu; </select> </mapper> MenuDao.java package com.boot.sailing.v1.dao; import org.apache.ibatis.annotations.Mapper; import java.util.List; import java.util.Map; @Mapper public interface MenuDao { List<Map<String, Object>> doList(); } MenuSvc.java package com.boot.sailing.v1.service; import com.boot.sailing.v1.dao.MenuDao; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Service @Log4j2 public class MenuSvc { @Autowired MenuDao menuDao; public List<Map<String, Object>> doList(){ // Data 만들기 , List , Map List<Map<String, Object>> list = menuDao.doList(); log.info(list); return list; } public MenuSvc() { log.info("============== MenuSvc , 생성자 ====================="); } } DB도 강사님이랑 똑같이 설정했는데 왜 에러가 발생하는지 모르겠습니다

  • spring
  • mvc
  • spring-boot
Deutan 댓글 5 좋아요 0 조회수 4047

인트로 화면 제작부분에서 질문있습니다.

미해결

[중급편] 코인 가격 모니터링 앱 제작 (Android Kotlin)

인트로 화면 완료 (Navigation) 2분에서 private var _binding: FragmentIntro1Binding?=null 에서요. FragmentIntro1Binding는 무슨 타입인가요? 코인선택 화면 꾸미기 (XML) 2분 38초에서요. 처음에는 val intent= Intent(this,SelectActivity:: class.java )이렇게 쓰셨다가 빨간줄 나오니까 val intent= Intent(requireContext(),SelectActivity:: class.java )로 쓰셨는데요. 근데 여기 https://www.youtube.com/watch?v=oXIeBhV06-Y 17분정도에는 Intent(this,)로도 가능한데 왜 안되나요? 3.스플래쉬화면만들기에서 8분정도에요. 인터넷에 찾아보니 xml 에서도 상속 받는다는건 알겠는데요. 혹시 어디서 받는건가요? 해당 xml 파일은 Theme.SplashScreen이 없던데요. <style name="Theme.MyApplication3.Splash" parent="Theme.SplashScreen"> 4.네비게이션 인트로 화면세팅 10 분 44초에서 tools:layout_editor_absoluteX="1dp" tools:layout_editor_absoluteY="1dp" 지우고 가로 세로 mach_parent로 하면 왜 < androidx.fragment.app .FragmentContainerView 이부분이 빨간줄이 사라지나요?

  • android
  • kotlin
zzzzz 댓글 1 좋아요 0 조회수 425

인기 태그

인프런 TOP Writers

주간 인기글