묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
해당 예제에서 Book 의 모든 필드를 바꾸고자 할 때
안녕하세요 해당 수업에서 만약 Book 의 모든 필드를 변경하고자 한다면 실제 실무에서는 어떻게 사용하면 좋을까 하면서 만들어 보았는데, 틀린 부분이나 고쳐야할 부분이 있다면 말씀해주실 수 있을까요 ? 작은 부분이라도 조언 해주시면 감사하겠습니다! 1. DTO @Getter @Setterpublic class UpdateBookDto { private String name; private int price; private int stockQuantity; private String author; private String isbn; public static UpdateBookDto updateBookAll( String name, int price, int stockQuantity, String author, String isbn) { UpdateBookDto bookDto = new UpdateBookDto(); bookDto.name = name; bookDto.price = price; bookDto.stockQuantity = stockQuantity; bookDto.author = author; bookDto.isbn = isbn; return bookDto; }} 2. Controller public class ItemController { @PostMapping("/{itemId}/edit") public String updateItem(@PathVariable String itemId, @ModelAttribute("form") BookForm form) { UpdateBookDto bookDto = UpdateBookDto.updateBookAll( form.getName(), form.getPrice(), form.getStockQuantity(), form.getAuthor(), form.getIsbn() ); itemService.updateItem(form.getId(), bookDto); return "redirect:/items"; }} 3. Service public class ItemService { @Transactional public void updateItem(Long itemId, UpdateBookDto dto) { Book findBook = (Book) itemRepository.findOne(itemId); findBook.changeBook( dto.getName(), dto.getPrice(), dto.getStockQuantity(), dto.getAuthor(), dto.getIsbn() ); }} 4. Book public class Book extends Item { public void changeBook(String name, int price, int stockQuantity, String author, String isbn) { super.changeItem(name, price, stockQuantity); this.author = author; this.isbn = isbn; }}
-
미해결스프링부트 시큐리티 & JWT 강의
스프링 시큐리티 Websecurityconfigureradapter deprecated 문제 해결!! 최신 코드 반영 해두었습니다
스프링시큐리티 Websecurityconfigureradapter deprecated 문제로 코드 수정해서 새로운 브랜치에 올려두었습니다. https://github.com/codingspecialist/Springboot-Security-JWT-Easy/tree/version2
-
미해결스프링 핵심 원리 - 기본편
중급편
지금 고급편은 있던데 중급편은 아직 안나온건가요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
file.dir 경로 질문입니다 ㅠㅠ
현재 경로 설정은 이렇게 되어 있습니다. 위와 같은 에러가 나오며 파일 저장이 안됩니다 ㅠ java.io.IOException: java.io.FileNotFoundException: C:\Users\hdhwin\AppData\Local\Temp\tomcat.8080.1372549510501022096\work\Tomcat\localhost\ROOT\Users\hdhwin\study\file\pngegg (4).png (지정된 경로를 찾을 수 없습니다) at org.apache.catalina.core.ApplicationPart.write(ApplicationPart.java:122) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at hello.upload.controller.ServletUploadControllerV2.saveFileV1(ServletUploadControllerV2.java:64) ~[main/: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:197) ~[spring-web-5.3.8.jar:5.3.8] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.8.jar:5.3.8] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.8.jar:5.3.8] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.8.jar:5.3.8] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.8.jar:5.3.8] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.8.jar:5.3.8] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) ~[spring-webmvc-5.3.8.jar:5.3.8] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.8.jar:5.3.8] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.8.jar:5.3.8] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.8.jar:5.3.8] at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.8.jar:5.3.8] at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.46.jar:9.0.46] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.8.jar:5.3.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.8.jar:5.3.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.8.jar:5.3.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na] Caused by: java.io.FileNotFoundException: C:\Users\hdhwin\AppData\Local\Temp\tomcat.8080.1372549510501022096\work\Tomcat\localhost\ROOT\Users\hdhwin\study\file\pngegg (4).png (지정된 경로를 찾을 수 없습니다) at java.base/java.io.FileOutputStream.open0(Native Method) ~[na:na] at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) ~[na:na] at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237) ~[na:na] at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187) ~[na:na] at org.apache.tomcat.util.http.fileupload.disk.DiskFileItem.write(DiskFileItem.java:406) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.ApplicationPart.write(ApplicationPart.java:120) ~[tomcat-embed-core-9.0.46.jar:9.0.46] ... 51 common frames omitted
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
몇가지 궁금한점에 대해 질문합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 1. 2. 사진첨부해드리고 말씀드리겠습니다 1) member객체를 인스턴스하고, em.persist(member)를 할 시점에서 List<Order>에 여러 order객체들이 있을경우 같이 저장하기위해 CASCADE를 ALL로 지정한게 맞는지 궁금합니다. 2) 위의 내용이 맞을 때, 밑에 내용에서 createOrder 메소드 for문 안에서 order.addOrderItem(orderItem)를 하고나서 order를 persist 할경우, 여러개의 orderItem이 같이 저장되기위해서 해당 Order 엔티티안에 orderItems 리스트객체를 cascade cascadeType.All선언해야하는데, OrderItem이 Item과 연관관계가 있어서 cascade all를 선언 안하는게 맞는지 궁금합니다. 만약 그게 맞다면 caseCade.All를 선언 안하면 order 객체을 persist 할 시점에 List<orderItem>들을 같이 저장이 안되는걸로 알고 있습니다. 그렇다면 order 엔티티 안에 createOrder 메소드로 반환값 받는 order에 있는 OrderItems 리스트 객체를 for문으로 돌려서 각각의 OrderItem객체를 persist 하여 order값도 같이 persist 시키는게 맞는건지 궁금합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
aws ec2 배포 목표 토이 프로젝트 개발시 jar/war?
안녕하세요. mvc2편 끝나고 토이 프로젝트 진행하라고 추천하셔서 시작할려고 합니다. jar는 로컬 개발떄 쓰이는거고 war는 서버 배포시 쓰이는걸로 알고있습니다. aws ec2 배포 목표인 제 토이 프로젝트는 start.spring.io에서 뭘 선택해야 되나요? war선택하면 jar처럼 서버 배포전 로컬 개발을 원활하게 할수있나요? 인터넷에서는 확답이 없어서 여쭤봅니다. 감사합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
양방향 연관 관계에서의 setter 사용
안녕하세요. 도메인 내에서 비즈니스 로직을 작성하는 것이 객체지향적이다 라는 말씀을 듣고 생각해보다가, 양방향 연관 관계 편의 메서드에서의 setter 사용이 생각났습니다. public class Order { public void setDelivery(Delivery delivery) { this.delivery = delivery; delivery.setOrder(this); }} 이와 같이 양방향 연관 관계에서는 한쪽에 setter 함수가 불가필 할듯 한데, setter 함수를 무조건적으로 사용하면 안되는 것은 아니고 지양한다는 정도로만 받아들여도 될까요 ? 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
jpa 실무 활용하려면 알아야 되는 스펙 범위
jpa 1,2 spring data jpa jpql 디비 연결 다 알아야 되나요? 그리고 코프링 + jpa 가 향후 5년내 떠오를 스펙인지도 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
초기화란 뭘 해주는 건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 영상에서 사용하신것처럼 디비같은것과 connect() 이런걸 해주는걸 초기화라고하나요? 그런데 그걸 보통 스프링이 해준다고 들었는데 그걸 제외한다면 어떤게 초기화 단계에서 실행되나요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
DTO와 엔티티의 변환 작업은 어느 계층에서 하는게 좋은지에 대해 질문드립니다.
DTO 객체에서 엔티티로 또는 엔티티에서 DTO로 변환하는 작업은 컨트롤러에서 해야할까요? 아니면 서비스 단에서 해야할까요? 어느 계층에서 하는게 좋나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
[공유] 인텔리제이 유료버전 인데 타임리프 이동 또는 빨간줄 뜨시는분
인텔리제이 얼티메이트 버전인데 컨트롤러에서 타임리프 링크 안되는 현상 또는 타임리프 리소스에서 빨간불 뜨시는분들 ! 별짓 다해보았지만 Spring boot 버전문제로 보입니다. (강의소스 그대로 버전만 2.7.0 해보니 링크안되고 빨간불 동일하네요) 2022.06.11 기준 2.7.0 버전에서는 안되고, 2.6.8 버전에서는 잘동작합니다.
-
미해결스프링 핵심 원리 - 기본편
필드주입은 확실히 간결한거 맞나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 단지 너무 간결해져서 테스트할때 제가 접근할방법이 없어진다 이런 이유가 맞는건가요?
-
미해결스프링 기반 REST API 개발
혹여 기선님 말 안 듣고 gradle로 프로젝트 생성했다가 피똥싸고 계신 분들을 위하여
1. gradle 버전이 7 이상이신 경우 6.xx대로 다운그레이드 하시고 2. https://gaemi606.tistory.com/entry/Spring-Boot-REST-Docs-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0 의 'Gradle 버전에 맞게 수정하기!' 의 코드대로 따라해주세요. 화이팅!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
IntelliJ IDEA> Preferences
왼쪽 상단에 IntelliJ IDEA> Preferences 상기 항목이 안나와요? 어디서 찿을수 있을까요? 버전은 아래와 같습니다.IntelliJ IDEA 2022.1.2 (Community Edition)Build #IC-221.5787.30, built on June 1, 2022Runtime version: 11.0.15+10-b2043.56 amd64VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.Windows 10 10.0GC: G1 Young Generation, G1 Old GenerationMemory: 750MCores: 8Kotlin: 221-1.6.21-release-337-IJ5787.30
-
미해결스프링 핵심 원리 - 기본편
final 을 꼭 사용해야하는 이유가 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]private final MemberRepository memberRepository 이런식으로 final 을 항상 붙여주시는데 특별한 이유가 있나요? 데이터가 변경되는걸 막기 위한건가요?
-
해결됨스프링 핵심 원리 - 기본편
어플리케이션의 구조와 스프링 컨테이너
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 전체적인 그림이 머릿속에 잘 그려지지를 않아서 질문 드립니다... 1. 예를 들어, 클라이언트가 웹에서 요청을 하면 해당 요청이 서버 컴퓨터에 있는 프로그램의 main 메서드로 전달이 되고 main 메서드에서 MemberService 빈을 불러와서 처리가 되는 것인가요? 실제로 웹 어플리케이션(?)을 운영할 때에 CoreApplication 클래스의 main 메소드에서 AnnotationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig); 같은 코드를 적고 이 때 생성된 스프링 컨테이너 ac를 이용해서 요청이 들어올 때마다 MemberService 빈을 꺼내오는 건가요? 아니면 이런 코드가 필요없이 스프링에서 알아서 컨테이너를 만들고 컴포넌트 스캔을 해주는 건가요? 만약 그렇다면 이렇게 스프링 자체적으로 만든 컨테이너에는 어떻게 접근을 할 수 있나요? 2. 테스트 함수 내부에서 빈을 꺼내서 사용하는 일련의 코드들이 테스트가 아닌 실제 코드에서는 메인 메서드에서 구현되는 것인지 각 서비스 객체에 구현되는 것인지를 잘 모르겠습니다. 예를 들어, test.hello.core.autowired.AllBeansTest 에서 고객이 할인 정책을 선택하게끔 하는 예시는 실제로는 DiscountService 객체 내부에 메소드를 만들어서 처리하는 상황인 건가요? 3. 스프링 컨테이너에 직접 접근하고 getBean을 통해 빈을 꺼내오는 건 테스트 상황에서만 필요한 작업인가요? 프로토타입 빈을 받아오거나 하는 경우를 제외하면 서비스 객체나 리포지토리 객체 등에서 스프링 컨테이너에 접근할 일은 없는 건가요? 4. 실제 개발을 하면서 https://www.inflearn.com/questions/331154 이 질문에서와 같이 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class); AnnotationConfigApplicationContext ac2 = new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class); 와 같은 코드를 짜서 컨테이너가 2개 생성될 일은 없는 건가요? 교재에 있는 그림들을 보면 여러 클라이언트들이 하나의 컨테이너로부터 빈을 받는데 이 컨테이너는 스프링이 자체적으로 관리하는 컨테이너가 맞나요? 추가 질문. 지금처럼 전체적인 그림이 잘 안잡힌다면 이 상태로 mvc 강의를 듣는게 나을까요? 아니면 확실하게 모든 걸 이해하고 가는게 좋을까요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
강사님께서 사용하시는 ERD 그리기 툴이 있을까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 일부 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 스프링 부트와 JPA 활용 강의를 듣고 토이프로젝트를 진행하려고 하는데, entity relation diagram을 간단하게 그릴 툴이 뭐가 있을까 싶어서 질문 남깁니다. Draw.io나 erdcloud 등의 사이트를 봤지만 초심자가 무턱대고 접하기엔 생각보다 벽이 있어서, 강사님께서 직접 사용하시는 툴은 어떤 것인지 궁금해 질문합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
view 환결설정강의 addAttribute오류
계속 오류가 납니다 뎃글에 사진 첨부하겠습니다
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
No value present 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 회원가입() 실행시 db에 값은 들어가는데 콘솔에 java.util.NoSuchElementException: No value present 오류 뜨는데 왜 이런 건가요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
@Mapper로 Repository를 대체?
제가 예전 회사에서 MyBatis를 쓸 때, 어디선가 그런 예제를 봐서 썼던 기억이 있는데, Mapper를 바로 서비스 계층에서 주입받아서 Repository처럼 썼었거든요. 이렇게 했을 경우의 문제점은 뭐였을까요?