묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
필드 주입(DI)
우선 좋은 강의 만들어 주셔서 감사합니다. 현재 취준생의 입장에서 정말 많은 도움이 되고 있습니다! DI의 3가지 방법 중 필드 주입 설명 부분에서 MemberService 를 바꿀 수 있는 방법이 없는 것이 단점으로 이해했습니다. 하지만 제 생각에는 필드 주입 시 final을 사용할 수 없어(스프링 컨테이너가 객체를 주입하므로) 바뀔 가능성이 있고, 생성자 주입에서는 final로 선언 시 생성자가 호출된 이후에는 MemberService를 바꿀 수 없게 될 것으로 생각이 됩니다. 제가 어떤 부분을 잘못 이해하고 있는지 궁금합니다. 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
순수 JDBC 에서 코드 입력후 실행시 에러
안녕하세요 선생님! 강의 정말 잘 듣고 있습니다. 강의 내용, 자료들 정말 좋은거 같아요 :) h2 데이터베이스 설치까지 잘 마치고, 메모리에서 JDBC로 바꾸는 과정에서 코드들 따라서 입력하고 run 하는데 아래같은 에러가 뜨네요. 비슷한 질문이 있었는데.. Cannot load driver class: org.h2.Driver 라는 부분이 있어서.. build.gradle 확인해서 runtimeOnly 'com.h2database:h2' 부분이 추가됐는지 확인했습니다. ========================================================== Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2020-11-23 22:07:11.756 ERROR 10184 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'springConfig' defined in file [C:\study\hello-spring\out\production\classes\hello\hellospring\SpringConfig.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:797) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:227) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1356) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1203) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:556) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:897) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:879) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:405) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE] at hello.hellospring.HelloSpringApplication.main(HelloSpringApplication.java:10) ~[classes/:na] Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:655) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:635) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1336) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1176) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:556) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:884) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:788) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] ... 20 common frames omitted Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:650) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] ... 34 common frames omitted Caused by: java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver at org.springframework.util.Assert.state(Assert.java:97) ~[spring-core-5.2.10.RELEASE.jar:5.2.10.RELEASE] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:223) ~[spring-boot-autoconfigure-2.3.5.RELEASE.jar:2.3.5.RELEASE] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:175) ~[spring-boot-autoconfigure-2.3.5.RELEASE.jar:2.3.5.RELEASE] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:43) ~[spring-boot-autoconfigure-2.3.5.RELEASE.jar:2.3.5.RELEASE] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:85) ~[spring-boot-autoconfigure-2.3.5.RELEASE.jar:2.3.5.RELEASE] 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.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.2.10.RELEASE.jar:5.2.10.RELEASE] ... 35 common frames omitted Process finished with exit code 1
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Wrong user name or password ?
안녕하세요. 테스트 코드 작성시 아래와 같은 코드 오류가 나서 문의 드립니다. user & password 는 지정한 부분이 없습니다. 확인해할 부분이 있을까요? org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-200] at org.h2.message.DbException.getJdbcSQLException(DbException.java:461) ~[h2-1.4.200.jar:1.4.200] at org.h2.engine.SessionRemote.done(SessionRemote.java:611) ~[h2-1.4.200.jar:1.4.200] at org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:147) ~[h2-1.4.200.jar:1.4.200] at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:435) ~[h2-1.4.200.jar:1.4.200] at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:321) ~[h2-1.4.200.jar:1.4.200]
-
해결됨Kotlin으로 개발하는 Spring Boot Web MVC
HTTP Method 설명에서요~ PATCH 메서드는 왜 없을까요?
실무에서 잘 사용하지 않나요? 또, GET의 DataBody가 없다고 하셨는데, Request Body에 대한 RFC 표준이 갱신되어서 작성은 가능하지만 예전 표준의 잔재로 일부 서비스에선 해당 정보에 대해 응답하지 않을 수 있다고 알고 있습니다.
-
미해결JSP WEB MVC Model2 Programming(중급 과정)
MVC패턴의 쇼핑몰 수업자료 관련
model1방식에서는 게시판과 쇼핑몰을 모두 진행 하였는데 model2 방식으로는 게시판밖에 강의가 올라오지 않아서 저도 아쉬워하고있었는데 댓글을 보니 수업자료로 올려주셨다고 하는 글을 보았습니다! 수업자료 다운받아봤는데 model2방식 쇼핑몰은 아직 업데이트가 안된건가요 아니면 추후 업데이트 될 예정인가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
헉 앱개발 면접 때...
질문은 아니지만..정말강의쏙쏙입니다 감사합니다
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
SpringConfig
@Autowired지우고 SpringConfig 파일 생성 후 실행해보니 bean이 이미 정의 되어 있다는 식의 오류가 떴습니다. 구글링 해보니 spring boot 2.1 이후로는 bean을 overriding 못하도록 설정되어있다고 하더라고요. application.properties 파일에 spring.main.allow-bean-definition-overriding=true 를 추가하니 작동하긴 하는데, 빈이 오버라이드 될 경우에 무슨 문제점이 발생하나요? 뭔가 문제점이 있으니까 스프링에서 디폴트 설정을 바꾼 것 같은데... 구글링 해도 해결법만 나오고 왜 그런지는 설명이 없네요ㅜㅜ
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
final 질문
15:21 쯤에 MemberRepository를 밖에서 넣어줄 수 있도록 메소드를 하나 생성했는데 똑같은 코드인데 오류가 나네요ㅠㅠ The final field MemberService.memberRepository cannot be assigned final 키워드를 없애면 잘 돌아가긴 하는데 문제가 생기진 않을까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Long과 long의 차이는 무엇이고 왜 Long을 쓰신건가요?
Member클래스의 id 타입과 MemberRepository 인터페이스에 존재하는 findById의 id를 모두 Long으로 작성하셨는데 왜 long을 안쓰시고 Long을 쓰셨는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
private final 에서 final의 역할...
안녕하세요. 제목과 같습니다. final의 역할이 궁금합니다!
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
findByName() 테스트 오류
@Test public void findbyName() { Member member1= new Member(); member1.setName("spring1"); repository.save(member1); Member member2= new Member(); member1.setName("spring2"); repository.save(member2); Member res = repository.findByName("spring1").get(); assertThat(res).isEqualTo(member1); } 코드에 이상이 있는 것 같지는 않은데... java.lang.NullPointerException이 뜨네요ㅠㅠ 다른 테스트들은 잘 돌아갑니다. MemoryMemberRepository.java 일부 @Override public Optional<Member> findByName(String name) { return store.values().stream() .filter(member -> member.getName().equals(name)) .findAny(); }
-
미해결스프링 웹 MVC
Validation 이 적용이 잘 되지 않습니다.
안녕하세요 기선님 언제나 좋은 강의 너무 감사드립니다! 최신버전 부트를 사용하고 있어서 @Valid 어노테이션을 사용하기위해 의존성은 추가했습니다. 그런데 Event 의 limit 프로퍼티에 @Min(0) 을 추가했고, mock으로 -10을 넘기는데 BindingResult 에서 에러로 잡지 못하고 그대로 넘겨주는데 제가 뭘 잘못한걸까요 ㅠㅠ 작성한 코드는 다음과 같습니다 테스트코드 @Testvoid createEventModel() throws Exception{ mockMvc.perform(post("/eventsModel") .param("name","event1") .param("limit", "-10")) .andDo(print()) .andExpect(status().isOk()) ;} 핸들러 @PostMapping("/eventsModel")@ResponseBodypublic Event createEventModel(@Valid @ModelAttribute Event event, BindingResult bindingResult){ if (bindingResult.hasErrors()) bindingResult.getAllErrors().stream().forEach(e -> System.out.println(e.toString())); Event event1 = new Event(); event1.setId(10); event1.setName(event.getName()); event1.setLimit(event.getLimit()); return event1;} 이벤트에 @Min 은 추가했습니다 @Min(0)private Integer limit; 다음에서 테스트를 수행해도 hasErrors()로 걸리질 않습니다..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
퇴근 후에 사이드 프로젝트로 간단한 웹사이트를 만들어보려고 하는데 몇 가지 질문을 드리고 싶습니다.
안녕하세요, 김영한님! 두어달 전에 취업 준비를 하면서 Django를 이용해서 웹사이트를 만들고 있었는데 운 좋게 취업이 되어 개발을 멈췄었습니다. 그러다가 페이스북 생활코딩 커뮤니티에 입문 강의를 무료로 만드셨다는 글을 보고, 퇴근 후에 이 강의를 흥미롭게 들으며 스프링에 대해 관심이 많아져 장고보다는 스프링을 이용하여 다시 웹사이트를 개발해보고 싶은 마음이 생겼습니다. 1. 사이드 프로젝트로 가볍게 웹 사이트를 만들 때에도 스프링을 많이들 사용하시는 지 궁금합니다. 강의를 들었을 때는 웹 사이트 하나만 개발 하기에는 좀 무거운 프레임워크라는 생각도 드는데, 스프링 외에 간단한 사이드 플젝에 빠르고 간편하게 사용하시는 프레임워크 혹은 기술이 있나요? 아니면 보통 스프링을 많이들 사용하시나요? 2. (1번 질문에서) 만약에 스프링으로 개발한다고 할 때, (현재 스프링 핵심 입문 강의도 듣고 있는데) 핵심 입문 강의와 무료인 이 입문 강의 두 개의 강의로도 썩 괜찮은 웹사이트를 만들 수 있을지 궁금합니다. 부족하다면 추가로 들어볼만한 강의 혹은 배울 지식이 있을까요? (만드려고 하는 사이트는 디시x사이드처럼 게시판에 글을 쓰는 기본 형태에 특정 조건을 만족하는 유저들끼리 소통을 하여 오프라인에서 만나도록 도와주는 컨셉입니다) 핵심 강의에서 리얼포스를 몇 번 언급하시던데, 저도 올해 초에 거금을 주고 산 리얼포스 굉장히 잘 사용하고 있습니다 ㅎㅎ 이 녀석 덕분에 돈 아까워서라도 퇴근 후에 뭐라도 하게 되네요. 열심히 해서 영한님이 현업에 계실 때 같은 팀 후배로 꼭 들어가고 싶네요 :) 늘 질 좋은 강의 감사드리며 더 많이 만들어주세요~~!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
단위테스트와 통합테스트
단위 테스트가 훨씬 좋은 테스트일 가능성이 높다고 하셨는데, 그렇다면 db를 연동하고 난 후에는 단위테스트를 어떻게 진행하면 되는 건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberService, MemberRepository
두 가지 궁금증이 있어서 질문 드립니다. 1. 왜 Repository는 인터페이스를 만들고 구현체를 만들어 사용하나요? 2. MemberService에서는 왜 구현체인 MemoryMemberRepository가 아니라 MemberRepository를 사용하나요? 3-1. 왜 MemberService에 있는 MemberRepository는 final을 사용하나요? memberRepository가 바뀌지 않게 하기 위한 장치를 하나 더하는 느낌으로 생각해도 괜찮은 건가요? 3-2. MemberController에서 memberService를 정의해서 사용할 때와 MemberService에서 memberRepository를 정의해서 사용할 때 final을 적용하여 사용하는 것이 권장되나요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Repository vs Service 의 역할의 차이점
안녕하세요. 선생님 강의 정말 잘 보고있습니다. 궁금한점이 있어서요 Repository 패키지와 Service 패키지가 보통 구분되어있는데 정확하게 쓰임새의 차이점을 모르겠습니다. 그냥 스프링에서 Service 역할을 하는 것이 스프링 부트에서는 Repository가 하는거로 알고있었는데.. 어떤 경우에 Repository에 구현하고, 어떤 경우에 Service에 구현하는지.. Service에 구현하는것은 조금더 비즈니스 적인 내용을 구성한다고 하셔서 혼란이 조금 생겼습니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
SpringCofing 클래스 질문이요!
자바코드로 빈을 등록할 때 SpringConfig 클래스에 작성을 하는거면 SpringConfig 파일이 스프링 컨테이너의 역할을 하는건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안녕하세요 강사님이 템플릿 엔진에 대해서 질문이 있습니다.
성능 문제로 템플릿 엔진보다는 웹 프레임워크 vue.js react.js angular.js를 쓴다고 들었습니다. 여기 강의에서 thymeleaf 템플릿 엔진을 사용했는데, spring에서 템플릿 엔진을 꼭 써야하는지 아니면 간단하게 예제로써만 사용하고 나중에는 react.js vue.js angular.js같은 웹 프레임워크를 사용하는 지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드하고 실행하기에서 jar로 생성이 안됩니다
윈도우인데 gradlew.bat 실행하면 build 폴더에 jar가 있는게 아니라 classes 폴더가생겨요.. 왜 그런걸까요?
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
DB가 mysql일때는 @SelectKey 와 addContentInfo의 @Insert문은 어떻게 구성하나요
안녕하세요? 23분 부터의 내용입니다. DB가 mysql일때는 @SelectKey 와 addContentInfo의 @Insert문은 어떻게 구성하나요? 구글링해도 잘 모르겠습니다...ㅠㅜ @selectkey 쿼리내용을 SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA = "databaseName" AND TABLE_NAME = "tableName" 로 수정하는게 맞는지 궁금합니다..양질의 강의 감사히 보고있습니다!