[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 1. 상품 등록 폼 조회 코드 @GetMapping("/add") public String addForm(Model model) { model.addAttribute("item", new Item()); return "items/addForm"; } 2.회원 가입 폼 조회 코드 @GetMapping("/add") public String addForm(@ModelAttribute Member member){ return "members/addMemberForm"; } 상품 등록 시에는 빈 Item 객체를 Model에 직접 지정해서 넘겼는데 , 회원 가입 시에는 @ModelAttribute를 통하여 자동으로 Member을 Model에 지정해서 넘겼습니다 왜 Item에는 빈 Item 객체를 직접 모델에 담았고 Member에는 @ModelAttribute로 자동으로 처리되게 했는지 궁금하고 어떤 방식이 효율이 좋은지 궁금합니다!
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 코드 실행 했을 때 local8080 입력해서 들어가면 ok라고 뜨고 잘 실행 되긴 하는데 debug가 많이 뜨고 이런 것들이 많이 나옵니다. 이렇게 뜨는 걸 보면 제대로 RUN 된 것 같지 않은데 실행은 잘 되는 것 같아요 어떻게 고쳐야 하는 건가요
안녕하세요 '빌드하고 실행하기' 강의를 듣다가 궁금한 점이 생겨서 질문 남겨봅니다. 강의를 듣다가 java -jar 실행 과정에 궁금증이 들었는데요.. 제가 war 파일 배포를 경험해본 적이 있었는데, war 파일을 배포할 때는 빌드 후 생성된 war 파일을 서버의 특정 경로에 올려두고 서버 시작을 했었습니다. 그래서 jar 파일을 실행한다는 것이 서버를 어떤 의미인가... 조금 헷갈리기도 하고 물음표가 생기더라고요. 구글링을 해봤는데 jar는 톰캣 서버 자체가 이미 내장 되어 있는 파일인 것 같더라고요.. 그래서 jar를 배포할 때, war처럼 특정 경로에 jar를 옮기는 과정 자체가 필요하지 않고 jar 자체를 실행하면 jar 안에 있는 서버가 같이 말린 프로젝트 소스까지 알아서 배포하는 그런 원리 일까요....? 그리고 제가 과거 프로젝트를 하면서 빌드를 했을 때는 war 파일 생성되었는데, 강의 실습의 빌드 결과물은 jar 파일인데 빌드 시 어떤 조건에 의해 war, jar가 생성되는지도 궁금합니다.. 확실한 지식이 없다 보니 질문이 조금 횡설수설한 점 죄송합니다..ㅜ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 빌드하면 잘 되긴 하는데 마지막에 저렇게 에러가 떠요.어떤게 문제인가요??
전에도 남겼었는데 이번에 실습을 하면서 AuthorizationCode Grant 를 누르면 인증을 받기 위한 로그인을 하고 나면 403 에러가 발생합니다. 그래서 Clientcontroller 에서 만든 로직에다가 breakpoint 를 찍으면서 확인해보면 결과 정보들은 강사님과 똑같이 들어있었습니다. 근데 return "/client" 부분만 가면 403 에러가 나와서 화면이 나오질 않는데 어느 부분을 먼저 봐야할까요..? 계속 수정해봐도 계속 403 에러가 발생해서 다시 질문드립니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 우선 개발 버전은 JDK 17입니다. 강의에서 강사님이 h2를 이용하며 OracleDialect로 변경 후 정상적으로 동작이 되었는데 현재 저의 셋팅에서는 정상적으로 작동이 되지 않더라구요 H2 홈페이지를 검색 해본결과 Mode를 Oracle을 추가하면된다고 나와있었고 MODE를 Oracle로 변경하여도 오류가 발생하였습니다.. 오류내용은 https://www.inflearn.com/questions/1171985/dialect-%EC%84%A4%EC%A0%95-%EC%98%A4%EB%A5%98-%EC%A7%88%EB%AC%B8%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4 이분과 같습니다.. David님이 달아주신 답변에는 ojdbc를 의존성 추가를 하는것으로 되어있는데 시도해보았지만 해결되지 않았습니다.. 물론 이게 강의에 중점은 아니지만 스스로 해결해보려 해도 답이 안나와서 질문드립니다... 다른 추가적인 설정이 필요한걸까요??ㅜㅜ Exception in thread "main" jakarta.persistence.PersistenceException: [PersistenceUnit: hello] Unable to build Hibernate SessionFactory at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:1591) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1512) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:55) at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:80) at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:55) at jpql.JpaMain.main(JpaMain.java:14) Caused by: org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpql.Product] at org.hibernate.id.factory.internal.StandardIdentifierGeneratorFactory.createIdentifierGenerator(StandardIdentifierGeneratorFactory.java:230) at org.hibernate.id.factory.internal.IdentifierGeneratorUtil.createLegacyIdentifierGenerator(IdentifierGeneratorUtil.java:127) at org.hibernate.mapping.SimpleValue.createGenerator(SimpleValue.java:415) at org.hibernate.internal.SessionFactoryImpl.lambda$createGenerators$1(SessionFactoryImpl.java:457) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1779) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) at org.hibernate.internal.SessionFactoryImpl.createGenerators(SessionFactoryImpl.java:456) at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:271) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:450) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1507) ... 4 more Caused by: org.hibernate.HibernateException: Could not fetch the SequenceInformation from the database at org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.sequenceInformationList(ExtractedDatabaseMetaDataImpl.java:307) at org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.getSequenceInformationList(ExtractedDatabaseMetaDataImpl.java:151) at org.hibernate.id.enhanced.SequenceStyleGenerator.getSequenceIncrementValue(SequenceStyleGenerator.java:581) at org.hibernate.id.enhanced.SequenceStyleGenerator.adjustIncrementSize(SequenceStyleGenerator.java:259) at org.hibernate.id.enhanced.SequenceStyleGenerator.configure(SequenceStyleGenerator.java:207) at org.hibernate.id.factory.internal.StandardIdentifierGeneratorFactory.createIdentifierGenerator(StandardIdentifierGeneratorFactory.java:224) ... 20 more Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "ALL_SEQUENCES" not found; SQL statement: select * from all_sequences [42102-224] at org.h2.message.DbException.getJdbcSQLException(DbException.java:514) at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) at org.h2.message.DbException.get(DbException.java:223) at org.h2.message.DbException.get(DbException.java:199) at org.h2.command.Parser.getTableOrViewNotFoundDbException(Parser.java:8064) at org.h2.command.Parser.getTableOrViewNotFoundDbException(Parser.java:8035) at org.h2.command.Parser.readTableOrView(Parser.java:8024) at org.h2.command.Parser.readTablePrimary(Parser.java:1788) at org.h2.command.Parser.readTableReference(Parser.java:2268) at org.h2.command.Parser.parseSelectFromPart(Parser.java:2718) at org.h2.command.Parser.parseSelect(Parser.java:2824) at org.h2.command.Parser.parseQueryPrimary(Parser.java:2708) at org.h2.command.Parser.parseQueryTerm(Parser.java:2564) at org.h2.command.Parser.parseQueryExpressionBody(Parser.java:2543) at org.h2.command.Parser.parseQueryExpressionBodyAndEndOfQuery(Parser.java:2536) at org.h2.command.Parser.parseQueryExpression(Parser.java:2529) at org.h2.command.Parser.parseQuery(Parser.java:2498) at org.h2.command.Parser.parsePrepared(Parser.java:627) at org.h2.command.Parser.parse(Parser.java:592) at org.h2.command.Parser.parse(Parser.java:564) at org.h2.command.Parser.prepareCommand(Parser.java:483) at org.h2.engine.SessionLocal.prepareLocal(SessionLocal.java:639) at org.h2.server.TcpServerThread.process(TcpServerThread.java:289) at org.h2.server.TcpServerThread.run(TcpServerThread.java:191) at java.base/java.lang.Thread.run(Thread.java:833) at org.h2.message.DbException.getJdbcSQLException(DbException.java:514) at org.h2.engine.SessionRemote.readException(SessionRemote.java:650) at org.h2.engine.SessionRemote.done(SessionRemote.java:619) at org.h2.command.CommandRemote.prepare(CommandRemote.java:78) at org.h2.command.CommandRemote.<init>(CommandRemote.java:50) at org.h2.engine.SessionRemote.prepareCommand(SessionRemote.java:487) at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1166) at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:93) at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:316) at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults(ExtractionContext.java:43) at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:39) at org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.sequenceInformationList(ExtractedDatabaseMetaDataImpl.java:291) ... 25 more
섹션 8의 <실용적인 구조> 강의에서 질문드립니다. JPA의 모든 데이터 변경은 트랜젝션 안에서 일어나기 때문에 JPA를 사용할 때는 리포지토리 계층에 @Transactional을 붙여야한다고 배웠습니다. 그런데 Spring Data JPA는 @Transactional을 붙이지 않아도 @Transactional 처리를 자동으로 한다는 것 같은데 맞는 얘긴가요? 원래 트랜젝션 적용은 서비스 계층에서 이뤄저야한다고 배웠습니다. 그래서 서비스 계층에서 @Transactional을 붙여왔고요. 그런데 해당 강의의 8분 지점에서 ItemServiceV2의 경우 Spring Data JPA에 의존하고 있기 때문에 리포지토리 계층에서는 @Transactional을 적용하지 않았고 서비스 계층인 ItemServiceV2에서 @Transactional을 적용한 것 같은데 맞을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의에서 예외를 직접 잡을 일이 별로 없다고 말씀해주셨는데, 예를 들어 회원가입을 할 때 중복된 아이디를 입력해서 오류가 발생해서 오류 메시지를 보여줘야 하는 경우는 개발자가 잡아야 하는 예외라고 봐도 될까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 9. 메소드, 문제와 풀이2 코드에서 저는 if문으로 풀었지만, 강사님께서는 switch문으로 푸셨더라구요. 궁금한점은 switch문에 case4: 부분은 왜, return이 들어가나요? break나 continue는 안되는 이유는 알겠지만, return은.. 반환값도 없는데... 잘 모르겠습니다.
강의를 다듣고 혼자서 게시판을 구현하기 위해 작업중인데요 회원가입 기능을 만들기 위해서 index.html 화면에서 회원가입 버튼을 누르면 회원가입 뷰로 이동하게 할려고 했는데 컨트롤러가 매핑이 안되어 뷰가 보이지 않습니다. 어떻게 해결해야 할까요? https://drive.google.com/drive/folders/1qfnBICO1XDiGDS_BTleEBumPHN2bnJi6?usp=drive_link
매개변수 strCoffee를 찾지 못하고있습니다. org.apache.ibatis.binding.BindingException: Parameter 'strCoffee' not found. Available parameters are [srtCoffee, strPrice, param3, strKind, param1, param2] menu_ins.html에서 menuCon으로 값이 넘어오는 것은 log로 확인 가능했습니다. service - dao - mapper 어디간에서 문제가 발생한 것 같은데 알 수 없어서 문의드립니다. https://drive.google.com/file/d/17keZ7jdiYPMen9Q_4I0ADqzlxplzidKF/view?usp=drive_link 구글드라이브 링크 추가했습니다. 감사합니다.
스프링 MVC1,MVC 2편을 다 수강하여서 개인 프로젝트를 간단하게 만들어보려고 합니다. 화면에 보이게 할 수 있도록 타임리프 기술을 활용하려고 하는데요. html,css, 부트스트랩은 강의때 복사 붙여넣기만 해봐서 구현할줄을 잘 모릅니다. 구글링을 해봐도 사용법이 친절하게 나오지 않아서 좀 어려운데 도움될만한 사이트나 책이 있을까요?
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 스프링부트 3.2.2 버전에서 Q타입 생성 확인 시 오류가 발생합니다. Gradle IntelliJ 사용법 build - clean 까지는 정상 작동하지만 compileJava 실행 시 오류가 발생합니다. Gradle 콘솔 사용법 Q 타입 생성 확인 세가지 방법 다 오류가 나는데 도움을 주실 수 있으신가요?? 구글드라이브 링크 https://drive.google.com/file/d/1VOlQN6OXTHgexMiqffrlXFQkIxc4gn-O/view?usp=sharing 오류코드 첨부 Execution failed for task ':compileJava'. > java.lang.NoClassDefFoundError: javax/persistence/Entity * Try: > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. * Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':compileJava'. ... Caused by: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/persistence/Entity ... Caused by: java.lang.NoClassDefFoundError: javax/persistence/Entity ... Caused by: java.lang.ClassNotFoundException: javax.persistence.Entity
초기 환경설정 중에 자꾸 아래와 같은 오류가 발생합니다. 프로젝트 sdk와 gradle jvm 모두 1.7로 설정했습니다. IntelliJ IDEA doesn't support Gradle execution on Gradle JVM versions older than 8 Possible solution: - Use Java 1.8 as Gradle JVM: Open Gradle settings