묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 부트 - 핵심 원리와 활용
@Value 외부설정관련 질문입니다.
안녕하세요..! 훌륭한 강의 잘 듣고있는 주니어개발자입니다!!인텔리제이 버전이 달라서 그런가 예제코드를 그대로 썻는데도 예외가 납니다.Caused by: org.springframework.beans.TypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.time.Duration'; Failed to convert from type [java.lang.String] to type [@org.springframework.beans.factory.annotation.Value java.time.Duration] for value '{my.datasource.etc.timeout}' @Value로 가져오는 timeout을 Duration 타입으로 바꿀 수 없다고 하네요그래서 charsequence나 string 타입으로 받아서 timeout을 Duration.parse(timeout) 으로변환해서 MyDataSource를 생성하는 식으로도 시도해봤는데 안되긴 마찬가지였습니다.또 위에 max-connection 받는 문법을 new Integer로 바꾼거처럼Duration도 {new Dureation('${~ 로 바꿔서 해보기도 했는데잘못된 문법이라고 하네요.. 어떻게 해결하면 좋을까요..ㅠㅠ 부탁드립니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
실행시 갑자기 알수없는 아이디 비밀번호 질문
인텔리에서 실행하고난후에 포트 8080으로 잘 들어갔는데갑자기 이름 비밀번호를 물어보는데 어떤걸 적어야할까요?? 배포 한후에 이렇게 비번을 물어보는창이 떠서요!코드 수정한부분없고 db 연결 잘 되어있는데 어떤부분이 문제일까요? 배포 부분말고 제 컴터에서 돌리는 부분입니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRespositoryTest를 수행하는 과정 오류
MemberRespositoryTest를 수행하는 과정에 자꾸만 이런 에러가 뜹니다. 강의 자료에 나와있는 대로 그대로 옮겨도 보고 데이터베이스도 재설치하여 실행해 보았지만, 계속 같은 오류가 뜹니다..java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@4f811029 testClass = jpabook.jpashop.MemberRepositoryTest, locations = [], classes = [jpabook.jpashop.JpashopApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceLocations = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@9da1, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@5bd03f44, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@e056f20, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@2667f029, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@50b472aa, org.springframework.boot.test.context.SpringBootTestAnnotation@259ba296], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:142) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:127) at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:241) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Entity 'jpabook.jpashop.Member' has no identifier (every '@Entity' class must declare or inherit at least one '@Id' or '@EmbeddedId' property) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1770) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1132) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:907) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:584) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) at org.springframework.boot.SpringApplication.run(SpringApplication.java:310) at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1388) at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:545) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:184) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:118) ... 27 moreCaused by: org.hibernate.AnnotationException: Entity 'jpabook.jpashop.Member' has no identifier (every '@Entity' class must declare or inherit at least one '@Id' or '@EmbeddedId' property) at org.hibernate.cfg.InheritanceState.determineDefaultAccessType(InheritanceState.java:266) at org.hibernate.cfg.InheritanceState.getElementsToProcess(InheritanceState.java:210) at org.hibernate.cfg.annotations.EntityBinder.bindEntityClass(EntityBinder.java:260) at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:556) at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:216) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies(MetadataBuildingProcess.java:247) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:290) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1348) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1419) at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1816) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) ... 48 more MemberRepositoryTest.javaMemberRepository.java Member.java
-
해결됨스프링 배치
이클립스에서 아무리 Application을 실행해도 잡이 실행이 안됩니다.
구글링도 많이해보고 질문 게시판도 많이 뒤져봤는데, 강사님이 작성해주신 그대로 Job을 작성했지만, Application 을 실행하면 그냥Started SpringBatchApplication in 1.373 seconds (process running for 2.321)이 실행되었다고만 뜨고 Job은 돌지 않습니다 ........ 따로 설정해주어야 하는 것이 있나요? Application 파일 위에 @EnableBatchProcessing 도 다 붙여놓은 것 확인하였습니다 제 코드는 여기 있습니다.https://github.com/SMJin/Spring-batch
-
미해결[개념은 호옹~, 실습 빡] 스프링 부트, 입문!
강의 일부내용을 블로그에 작성 해도되나요?
강의 내용중에 그림으로 설명하는부분을 혹시 캡쳐해서 블로그에 저장해도 될까요?
-
해결됨토비의 스프링 부트 - 이해와 원리
@SpringBootTest와 @ExtendWith + @ContextConfiguration 차이가 궁금합니다.
안녕하세요. 강의 잘 듣고 있습니다! 일반적으로 사용하는 스프링 컨테이너를 포함하는 @SpringBootTest와 강의에서 사용하신 @ExtendWith + @ContextConfiguration의 차이점이 궁금합니다. @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = HellobootApplication.class) @TestPropertySource("classpath:/application.properties") class DataSourceTest {} @SpringBootTest(classes = HellobootApplication.class) class DataSourceTest {} 위 두 코드의 실행결과가 같은 것을 확인하였습니다. 만약 두 애너테이션의 classes 속성이 동일하다면 @SpringBootTest를 사용하는 것이 테스트 프로퍼티를 명시할 필요가 없어서 더 좋아보이는데요. 두 애너테이션의 동작 방식의 차이점이나 장단이 있는지 궁금합니다!
-
해결됨토비의 스프링 부트 - 이해와 원리
스프링 부트 애플리케이션 생성
안녕하세요 토비님!스프링 부트 애플리케이션 생성 관련해서 질문을 드리려고 합니다!먼저 스프링 부트 애플리케이션을 생성하고 난 이후에 인텔리제이의, external libraries 탭에서 부트 애플리케이션과 관련된 라이브러리들이 설치된 것을 확인할 수 있는데아래의 의존성 중에서Gradle: org.springframework.boot:spring-boot:2.7.10Gradle: org.springframework.boot:spring-boot-autoconfigure:2.7.10 Gradle: org.springframework.boot:spring-boot-starter:2.7.10 Gradle: org.springframework.boot:spring-boot-starter-json:2.7.10 Gradle: org.springframework.boot:spring-boot-starter-logging:2.7.10Gradle: org.springframework.boot:spring-boot:2.7.10을 제외한 나머지 라이브러리들은 비어 있는 상태로 생성이 되는 이유를 알고 싶어서 질문 남겼습니다!
-
미해결토비의 스프링 부트 - 이해와 원리
다국어 처리 신규 항목이 생겼을 때 최선의 방법 문의 드립니다.
토비님 안녕하세요~ 질문을 계속 많이 드리게 되어 토비님 시간을 많이 뺏진 않을까 죄송한 생각이 듭니다 공부하면서 궁금했던 사항이 중간 중간 계속 떠올라서요.. 스프링 사용하면서 사용자에게 다국어 메세지 처리하는 방법이 두가지가있다고 경험했습니다 1 .js 파일에 관리하는 방법 자바파일에 관리하는 방법 2. 테이블에 등록하고 필요할때 select 하는 방법 (하지만 메세지 처리 데이터가 수만건을 넘어갈 땐 너무 많진 않을까.. ) 우선 저는 *.js 파일에 수기성으로 관리 할 경우 서버 재구동을 해야 하기 때문에 자바스크립트나 자바 파일에 관리 하는것은 아닌가 생각이 듭니다.다국어 처리시 신규 메세지항목이 생겼을 때서버를 재시작 하지 않고 적용 할 수 있는최선의 베스트 방법일지 궁금합니다 감사합니다. 수고하세요. --█●●--------------------------------------------#다국어#처리#최선#방법#부트#스프링#스프링부트#spring#sping-boot#springboot#토비--█●●--------------------------------------------
-
미해결토비의 스프링 부트 - 이해와 원리
동시간대 저장을 제어 하는 방법을 문의 드립니다
동시간데 저장을 제어 하는 방법을 문의 드립니다 안녕하세요 토비님 ~ 시스템을 사용하는 유저가 해외 각지역에 많이 있고어떤 오더정보가 있다고 가정하겠습니다 한국유저가 어떤 오더 금액적인부분 조회 하고 저장을 시도합니다 거의 동시간데에(0. 몇초차이로)일본유저가 동일 오더를 금액적인부분조회 하고 저장을 시도합니다 한국유저가 오더저장을 하던일본유저가 오더저장을 하던 저장하는데 비지니스로직때문에 2~5 초 의 긴 시간이 걸리기 때문에 한국유저 , 일본유저는 차후에 서로 본인이 기대했던 값이틀리게 저장이 됩니다 이런 동시성 저장 문제를 방어 해결하기 위해서 저장 프로세스 로직이나, 자바 기술적인 부분을 어떻게 적용 해야 할까요? 이런문제는 배치성 자바로직을 돌릴때도 마찬가지입니다동일 데이터를 동시간데에 한국유저가 자바배치 작업을 수행하고거의 동시간데에(0. 몇초차이로)일본유저가 자바배치 작업을 수행 할수 있습니다 (참고로, 제가 우선 경험한 부분을 말씀드리면 저장되는 순서 히스토리성을 관리를 해야 하는 경우는 저장하기 전에 데이터베이스에 락관련테이블하나 만들고 사용자가 저장하기전에 나 저장 할꺼야 하고 락관련테이블에 레코드를 넣고 시작 합니다 ) 감사합니다 수고하세요.--█●●--------------------------------------------#동시#동시성#방어#로직#방법#부트#스프링#스프링부트#spring#sping-boot#springboot#토비--█●●--------------------------------------------
-
미해결토비의 스프링 부트 - 이해와 원리
스프링에 삭제/수정을 시 방어 코드 로직이 있을 까요?
스프링에 삭제/수정을 시 방어 코드 로직이 있을 까요?안녕하세요 토비님 ~ 오더 삭제를 위한 매핑 정보@RequestMapping(value ="/경로/{오더번호}" 삭제로직 mvc 공부하다가 궁금한점이 있어 문의 드립니다 위와 같은 삭제 로직 호출 부분이 있다고 가정 할 때 웹, 스프링 공부를 한 사람이 악의 적인 의도를 갖고클롬 개발자도구를 사용해서 오더 삭제 URI 주소를 확인 유추하게 되어 악의적으로 자기 오더가 아닌 오더번호 or 오더Seq를 쿠팡/배달의민족 등 삭제 시도 공격을 할 수 있을 거라고 생각해봤습니다 물론 삭제 로직 에사용자의 로그인 정보 나 롤 정보를 담은SQL에 WHERE 조건은 집어 넣을 수 있습니다 이런 악의적인 공격을 피해 갈 수 있는 다른 스프링의 기능이 있을 지 궁금 합니다 감사합니다 수고하세요.--█●●--------------------------------------------#delete#update#수정#삭제#방어#로직#방법#부트#스프링#스프링부트#spring#sping-boot#springboot#토비
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
리눅스 mysql 8.0 설치 에러
같은 환경에서 mysql 설치시에# mysql . sudo yum install mysql-community-server -y 이부분 설치 명령어를 입력하면$ sudo yum install mysql-community-server -y Last metadata expiration check: 0:59:00 ago on Sun Apr 2 13:16:56 2023. Error: Problem: conflicting requests - nothing provides libcrypto.so.10()(64bit) needed by mysql-community-server-8.0.11-1.el7.x86_64 - nothing provides libssl.so.10()(64bit) needed by mysql-community-server-8.0.11-1.el7.x86_64 - nothing provides libcrypto.so.10(libcrypto.so.10)(64bit) needed by mysql-community-server-8.0.11-1.el7.x86_64 - nothing provides libssl.so.10(libssl.so.10)(64bit) needed by mysql-community-server-8.0.11-1.el7.x86_64 - nothing provides libcrypto.so.10()(64bit) needed by mysql-community-server-8.0.12-1.el7.x86_64 - nothing provides libssl.so.10()(64bit) needed by mysql-community-server-8.0.12-1.el7.x86_64 - nothing provides libcrypto.so.10(libcrypto.so.10)(64bit) needed by mysql-community-server-8.0.12-1.el7.x86_64 - nothing provides libssl.so.10(libssl.so.10)(64bit) needed by mysql-community-server-8.0.12-1.el7.x86_64 - nothing provides libcrypto.so.10()(64bit) needed by mysql-community-server-8.0.13-1.el7.x86_64 - nothing provides libssl.so.10()(64bit) needed by mysql-community-server-8.0.13-1.el7.x86_64 - nothing provides libcrypto.so.10(libcrypto.so.10)(64bit) needed by mysql-community-server-8.0.13-1.el7.x86_64 - nothing provides libssl.so.10(libssl.so.10)(64bit) needed by mysql-community-server-8.0.13-1.el7.x86_64 . . . . 이런식으로 충돌하는요청이 생겼다고 뜨는데 알아보니 라이브러리가 안깔려있어서 그렇다는 말도있고 어떤부분이 문제인지를 잘 모르겠어요 ㅠ...다시 처음부터 해봐도 해결이 안되고 다른 블로그 찾아봐도 아직 해결이 안되요gcc 라이브러리를 설치해야하나요? ㅠ
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
application.yml 작성 오류
5분쯤에 application.yml 작성할 때 오류가 생겨 질문 드립니다. mysql은 잘 설치되어있는 것 같습니다감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JdbcMemberRepository 에러 부분 캡쳐 해서 올립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]오류 나는 부분이 빨간 줄 쳐져 있는 두 부분인데 왜 그런걸까요?
-
미해결스프링 시큐리티 OAuth2
0auth2.0 roles의 이해
키 클락을 로컬 8080으로 띄워서 강의처럼 실습을 하고 있습니다roles1번 을 통해 user 로 로그인 바로 리다이렉트 http:localhost:8081 로 넘어가고grant access 화면이 뜨지 않는데 왜 그런건가요 ?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
인텔리제이에서 실행할 때와 터미널에서 실행할 때 차이
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]인텔리제이에서 실행 터미널에서 실행/hello 들어 갔을 때 터미널에서 실행할 때는 띄워주지 않는데 왜 그럴까요그리고 libs에 hello-spring-0.0.1-SNAPSHOT-plain.jar파일이 추가로 더 있던데 어떤 역활인지 궁금합니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradlew build 에러
해당 에러 관련 질문글과 블로그를 읽어보고 아래와 같이 환경변수 설정까지 완료했습니다.JAVA_HOME은 C:\Program Files\Java\jdk-11\bin아래는 PATH(CLASS_PATH도 설정한 경우도 있어 %JAVA_HOME%\lib 로 추가했습니다.) 또한 java -version과 javac -version은 아래와 같이 출력됩니다.그러고 나서 hello-spring directory로 가서 gradlew build를 하면 계속해서 아래와 같은 오류가 발생합니다.어디가 문제인지 알려주시면 감사하겠습니다.
-
미해결토비의 스프링 부트 - 이해와 원리
서버운영중 오류 예외 발생시 원인 찾는 방법 문의 드립니다
안녕하세요 토비님~이번에도 강의 내용과 상관 없는 질문 드립니다 시스템을 운영하면서 예상치 못한 에러상황이나자바소스 예외 상황이 발생 했을 때 예외가 발생한 자바소스는 어떤 자바파일 이며그 특정 자바 파일 몇번째 라인에서 왜? 오류나 예외가 발생했는지로그를 담아 db에 넣고 싶습니다. 그러면 개발자 입장에서 원인 찾아 소스 수정하는게 빠를 테니까요..(서버에 남는 로그파일에서 찾아서 로그를 다시 다운받아서 찾아 보는 것 보다 db 테이블에서 clob 으로 레고드를 남기고 찾아서, 따라 가는게 이득이라고 생각했습니다 ) 구글링해보니 우선 아파치 ExceptionUtils 부분이 있어아래 이미지와 같이 적용을 했는데 토비님이 실무에서 사용하고 계시는 다른 쉽고 좋은 베스트 방법이 있진 않을까 문의 드립니다 급한 질문 아닙니 시간 나 실 때알려주시면 감사하겠습니다. 수고하세요.--█●●--------------------------------------------#Exception #Error#예외#처리#원인#로그#부트#spring#sping-boot#springboot#토비--█●●--------------------------------------------
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JdbcMemberRepository에서 어디가 잘못된걸까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용].중간에 conn 부분이랑 맨아래 throws SQLException 쪽에 빨간줄이 그어 있긴하는데 같은 코드인것 같은데 어디서 잘못된건지 잘 모르겠습니다. 제가 작성한 코드는public class JdbcMemberRepository implements MemberRepository{ private final DataSource dataSource; public JdbcMemberRepository(DataSource dataSource){ this.dataSource = dataSource; } @Override public Member save(Member member) { String sql = "insert into member(name) values(?)"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try{ conn = getConnection(); pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); pstmt.setString(1, member.getName()); pstmt.executeUpdate(); rs = pstmt.getGeneratedKeys(); if (rs.next()) { member.setId(rs.getLong(1)); } else { throw new SQLException("id 조회 실패"); } return member; } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } @Override public Optional<Member> findById(Long id) { String sql = "select * from member where id = ?"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setLong(1, id); rs = pstmt.executeQuery(); if(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return Optional.of(member); } else { return Optional.empty(); } } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } @Override public Optional<Member> findByName(String name) { String sql = "select * from member where name = ?"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setString(1, name); rs = pstmt.executeQuery(); if(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return Optional.of(member); } return Optional.empty(); } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } private Connection getConnection() { return DataSourceUtils.getConnection(dataSource); } private void close(Connection conn, PreparedStatement pstmt, ResultSet rs) { try { if (rs != null) { rs.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (pstmt != null) { pstmt.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (conn != null) { close(conn); } } catch (SQLException e) { e.printStackTrace(); } } @Override public List<Member> findAll() { String sql = "select * from member"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); List<Member> members = new ArrayList<>(); while(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); members.add(member); } return members; } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } private void close(Connection conn) throws SQLException { DataSourceUtils.releaseConnection(conn, dataSource); } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
로컬디스크가 아닌 다른 곳으로 접근하는법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]터미널로 따라하려는 도중 강사님의 파일은 c에 있지만 저는 따로 E 로컬디스크에 저장되어있어 cd E:\Spring-workspace\hello-spring를 했는데 별다른 반응 없이 C에 머물러 있는 것 같은데 어떻게 접근해야하나요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
15강 질문 드립니다!
15강 람다식 질문 드립니다!선생님 안녕하세요!15강에서 작성해주신 람다식이 있는데람다식을 사용하지 않은 코드도 댓글로 알려주실 수 있으실까요~!자바 공부를 시작한 지 얼마 되지 않아서 혼자 해보려 해도 잘 안되네요..! 부탁 드리겠습니다!! 감사합니다!