묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
제가 강의 내용을 제대로 이해하지 못한 것 같습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예[질문 내용]@Query("select r from Review r join fetch r.user u join fetch r.reviewReviewTags rt join fetch rt.reviewTag where r.program.id=:programId order by r.likeCounts desc") List<Review> findTop4ByProgramOrderByLikeCountsDescWithFetch(@Param("programId") Long programId, Pageable pageable);안녕하세요!영한님의 강의에서 이해했던 내용과 결괏값이 달라서 질문 올립니다.(물론 제가 이해를 잘 못했을 것 같긴합니다!)현재 User, Review, Program 을 1대 다 다대1로 나누었고 중간테이블은 Review 입니다.또한 Review , RevieReviewTag, ReviewTag 또한 1대다 다대1. 중간테이블은 ReviewReviewTag 입니다.현재 강의 내용에서 제가 이해한 것은@OneToMany 에서 성능 최적화 할 때1)페이징 처리시 : Batch 를 활용2) 페이징 처리 안할 시: distinct+ fetch JOIN 사용입니다.위 경우에서 join fetch r.reviewReviewTags 에 주목해 주세요!이는 review 와 reviewreviewTag 즉 1대다입니다.이를 fetch Join 으로 한번 발라보았습니다. 저는 위 과정에서 일단 핵심적으로 distinct 를 안붙였기 때문에 같은 리뷰에 대한 리뷰 태그가 여러 개 생겨서 중복된 결과가 나올줄 알았습니다. 실제로 위 과정에서 나온 쿼리를 복사해서 집어 넣어보니 이렇게 추가된 같은 review에 대해서 reviewTag 개수(review에 대한 1대다,2개로 고정해서 저장하였음. 따라서 두번씩 중복) 만큼 중복해서 나왔습니다. 그래서 위 과정을 DTO로 만들어서 반환하면 2개씩 중복된 결과가 나올 것이라 예상했습니다. 근데 JSON 데이터를 확인한 결과 { "reviewId": 21, "like": 0, "contents": "너무 좋았습니다0", "userPosterPath": null, "userNickName": null, "localDateTime": "2024-02-04T03:40:18.924606", "ratings": "2.5", "reviewTagNames": [ "극장에서 또 보고 싶어요", "돈이 아까워요" ] }, { "reviewId": 22, "like": 0, "contents": "너무 좋았습니다1", "userPosterPath": null, "userNickName": null, "localDateTime": "2024-02-04T03:40:18.934169", "ratings": "1.5", "reviewTagNames": [ "극장에서 또 보고 싶어요", "돈이 아까워요" ] }, { "reviewId": 23, "like": 0, "contents": "너무 좋았습니다2", "userPosterPath": null, "userNickName": null, "localDateTime": "2024-02-04T03:40:18.939567", "ratings": "2.5", "reviewTagNames": [ "극장에서 또 보고 싶어요", "돈이 아까워요" ] }, { "reviewId": 24, "like": 0, "contents": "너무 좋았습니다3", "userPosterPath": null, "userNickName": null, "localDateTime": "2024-02-04T03:40:18.948736", "ratings": "0.5", "reviewTagNames": [ "극장에서 또 보고 싶어요", "돈이 아까워요" ] } ], 얼레레 근데 왠걸정상적으로 나오는 것입니다.저는 위에 쿼리를 DTO로 만들어서 반환한 것 밖에 없는데 (pageable 안에는 PageRequest.of(0, 4)) 제가 이해한 강의 내용 대로라면 일단 핵심적으로 distinct 를 안붙였기 때문에 1대다의 다의 개수만큼 중복된(위에서는 2개) 결과가 나와야 할 것 같았는데어디서 틀린 것일까요 ㅠ 스프링 부트 버젼은 2.7.X 이며 하이버 네이트 버젼도 6이 안되는 것을 참고해주세요 ㅜ
-
해결됨스프링 핵심 원리 - 기본편
@RequiredArgsConstructor를 포함한 생성자 2개
[질문 내용]@RequiredArgsConstructor //필수값(ex final)으로 생성자를 제공 public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; //final을 붙이면 값이 무조건 필요하다는 뜻 public OrderServiceImpl() { System.out.println("abc"); } }이런식으로 @RequiredArgsConstructor 으로 final을 매개변수로 갖는 생성자와 매개변수가 없는 생성자를 따로 만들면 이런식으로 변수가 초기화 되지 않았다고 오류가 발생하는데 @RequiredArgsConstructor은 생성자가 없을 때만 사용할 수 있는거라서 매개변수 없는 생성자를 만들었기 때문에 @RequiredArgsConstructor` 가 작동을 안 하는건가요?
-
미해결스프링 핵심 원리 - 기본편
setter 주입 테스트 코드
[질문 내용]영상에는 생성자 주입 테스트만 있어서 수정자 주입을 했을 때 테스트 하는 방법에 대해 생각해 봤습니다.@Test void test(){ ApplicationContext ac = new AnnotationConfigApplicationContext(OrderServiceImpl.class); MemoryMemberRepository memberRepository = new MemoryMemberRepository(); memberRepository.save(new Member(1L, "name", Grade.VIP)); OrderServiceImpl bean = ac.getBean(OrderServiceImpl.class); bean.setMemberRepository(memberRepository); bean.setDiscountPolicy(new FixDiscountPolicy()); Order order = bean.createOrder(1L, "itemA", 10000); Assertions.assertThat(order.getDiscountPrice()).isEqualTo(1000); }이렇게 테스트 코드를 작성하는게 맞을까요?
-
미해결스프링 핵심 원리 - 기본편
의존관계 필드 주입
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 똑같이 코드를 따라한 것 같은데 NoSuchBeanDefinitionException 이 터집니다.
-
해결됨쥬쥬와 함께 하루만에 끝내는 스프링 테스트
카프카 실행에 문제가 있는 분들
노션에 작성된 의존성에 는 org.testcontainers:kafka 라고 적혀있는데, org.testcontainers:kafka:1.19.0 와 같이 버전 명시해주시면 해결됩니다.
-
미해결스프링 핵심 원리 - 기본편
@Autowired 생략 주소찍기
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 중 memberRepository 와 discountPolicy 주소를 출력하는 것이 안 됩니다.logback.xml 문서는 이미 작성되어 있습니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
제가 이해한 것이 맞느지 확인 부탁드립니당
이번에 만든 조회하는 api는 리스트로 반환해야 하기 때문ㅇ JSON이어야 하고그렇기에 함수 반환 값이 List<UserResponse>인건가요?그리고 등록 api에서 만든 users리스트 수만큼 for문 돌려서 진정한 결과 리스트(id도 포함되어있는) reponses를 만들어낸건가요..?
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
수업을 들으면서 이해한 것이 맞는지 확인해주세요 ㅠㅠ
전체적인 흐름: postman(클라이언트)에서 body형식으로 보내준 user정보를 저장하는 api를 만들기. 다만 null값 허용x 1) dto역할의 UserCreateRequest.javapostman에서 body형식으로 보내준 user정보를 여기를 통하여 controller로 전달한다. 2) UserController.javauser관련된 api들이 정의되어 있는 곳. user 클래스에서 "예외 처리"를 거친 후에 들어온 값들을 add하면서 리스트에 추가한다. 3) domain의 User.java얘도 postman에서 body형식으로 보내준 user정보를 여기를 통하여 controller로 전달한다(?) 만약 name이 null값이면 거르고 아니면 저장한다. 뭔가 UserController.java랑 User.java 얘네들끼리만 서로 지지고볶는 것 같은데 왜 dto가 따로 있나 어려워요dto 없어도 domain에서 postman이랑 컨텍이 되는 거 아닌가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
WARNING: A Java agent has been loaded dynamically (스프링 통합 테스트에서)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. WARNING: A Java agent has been loaded dynamically (C:\Users\user\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.14.11\f9cb566608fbac6bc7bf54901a7aa11543a989ee\byte-buddy-agent-1.14.11.jar)WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warningWARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more informationWARNING: Dynamic loading of agents will be disallowed by default in a future releaseOpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 스프링 통합 테스트 강의에서 회원가입이나 중복 회원 테스트 실행은 잘 되는데 위의 문구가 나타나서 스프링이 도중에 중단됩니다. 강의 노트를 복붙하고 5분 40초 경에 인텔리제이를 실행했는데 위와 같은 문구가 뜹니다. 중복회원이나 회원가입 테스트는 체크 표시가 떴고 저 문구만 떴습니다. 위의 문구를 안 나오고 강사님처럼 문제없이 실행하려면 어떻게 해야 하나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Failed to load ApplicationContext 오류 해결 방법
[질문 내용]회원기능 테스트에서 분명 강사님이 하신거랑 똑같이 따라했고 오타가 있을까하여 강의 소스 코드도 점검하고 복사붙여넣기 까지 했는데 같은 오류가 계속 반복해서 발생합니다.. 오류:java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@f849027 testClass = jpabook.jpashop.service.MemberServiceTest, locations = [], classes = [jpabook.jpashop.JpashopApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceDescriptors = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@5c2375a9, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@492691d7, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@67545b57, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@1c93f6e1, org.springframework.boot.test.context.SpringBootTestAnnotation@5495e57], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:180) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) 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:260) 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.springframewo https://www.inflearn.com/questions/974433/java-lang-illegalstateexception-failed-to-load-applicationcontext-%EC%98%A4%EB%A5%98이 링크와 같은 문제인 것 같은데 h2를 재설치 해도 해결 되지 않네요 ㅜㅜ 도움 받을 수 있을까요? package jpabook.jpashop.service; import jpabook.jpashop.domain.Member; import jpabook.jpashop.repository.MemberRepository; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import jakarta.persistence.EntityManager; import static org.junit.Assert.*; @RunWith(SpringRunner.class) @SpringBootTest @Transactional public class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Autowired EntityManager em; @Test public void 회원가입() throws Exception { //given Member member = new Member(); member.setName("kim"); //when Long savedId = memberService.join(member); //then assertEquals(member, memberRepository.findOne(savedId)); } @Test(expected = IllegalStateException.class) public void 중복_회원_예외() throws Exception { //given Member member1 = new Member(); member1.setName("kim"); Member member2 = new Member(); member2.setName("kim"); //when memberService.join(member1); memberService.join(member2); //예외가 발생해야 한다!!! //then fail("예외가 발생해야 한다."); } } package jpabook.jpashop.repository; import jpabook.jpashop.domain.Member; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; import jakarta.persistence.EntityManager; import java.util.List; @Repository @RequiredArgsConstructor public class MemberRepository { private final EntityManager em; public void save(Member member) { em.persist(member); } public Member findOne(Long id) { return em.find(Member.class, id); } public List<Member> findAll() { return em.createQuery("select m from Member m", Member.class) .getResultList(); } public List<Member> findByName(String name) { return em.createQuery("select m from Member m where m.name = :name", Member.class) .setParameter("name", name) .getResultList(); } }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPA N+1문제의 장점?
최근 프로젝트를 진행하면서 연관 관계가 설정된 엔티티를 조회할 경우 조회된 데이터의 수만큼 추가 쿼리가 발생하여 데이터를 읽어오는 N+1문제를 해결할수 있었습니다.하지만 N+1문제를 단순히 문제라고 인식하고 있었지만 ORM을 개발한 개발자들이 이문제를 수정하지 않았다는건 어떠한 장점이 있지 않을까? 라는 생각을 하게 되었습니다. 혹시 N+1문제가 장점이 되는경우가 있는걸까여?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
http://localhost:8080/hello 오류가 뜹니다ㅜ
java: interface abstract methods cannot have body오류 메세지가 뜨는데 어떻게 해결을 하면 좋을끼요??
-
미해결스프링 핵심 원리 - 기본편
FixDiscountPolicy의 discount()의 매개변수로 price를 넣는 이유
@Override public int discount(Member member, int price) { // int price 는 왜 넣지 ? if (member.getGrade() == Grade.VIP) { return discountFixAmount; } else { return 0; } }이 메서드에서, discount의 매개변수로 member와, price를 넣고 있습니다. member 객체는 Grade의 값이 VIP인지 알아내야 하므로 넣는것을 이해하고 있습니다.그런데 price는, 메서드 내에서 사용하지 않고 있는데 왜 price 값을 매개변수로 넣고 있나요 ? 확장 가능성 때문이라고 봐야할까요 ?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
data jpa로 form 객체 사용 시 정리가 안된 부분 질문드려요..
실전 data jpa를 완강하고 다시와서 듣는 중인데요머리속에 정리가 안되는 부분이 있습니다.. 예를들어Member라는 엔터티가 있고MemberForm이라는 객체를 만들었습니다(뷰템플릿에서 사용자에게 받은 파라미터를 Member로 전환하기 위해) 여기서 제가 정리가 안되는 것은 MemberForm이 Dto의 역활까지 해서 MemberForm 객체를 생성해서 사용 한다면 굳이 MemberDto를 생성, 사용을 안해도 되는 건가요? 즉 서비스계층에서 memberForm을 member로 전환 시켜주는 작업을 한번만 수행하면 되는걸까요? 추가로 서비스계층에서 그 전환과정이 있다면 서비스 계층에서는 Member 엔터티를 노출해도 되는지(Member member= new Member():와 같이) 궁금합니다. 그게 안된다면 Member 엔터티 객체 안에 MemberForm을 매개변수로 받는 생성자를 만들거나 변환메서드를 작성해야하는지 궁금합니다. 감사합니다.
-
미해결스프링 핵심 원리 - 기본편
member와 findMember의 .isEqualTo 비교
강의내용 7:00 에 등장하는 Assertions.assertThat(member).isEqualTo(findMember);에서 member와, findMember를 isEqualTo(내용비교)를 통해 내용이 같은지 검증을 하고 있습니다. 여기서는 당연히 member와 findMember의 내용비교가 같다는 것을 이해하였습니다.그런데 isSameAs(주소값 비교)로 검증을 해보아도 주소 값이 같다는 결과가 나왔습니다. println() 메서드를 통해 member와 findMember의 주소값이 같다라는 결과도 눈으로 확인하였습니다. member는 new Member(1L, "memberA", Grade.VIP); 를 통해 객체를 새로 생성하여 member객체에 담았고,findMember 객체는 member의 값을 join을 통해 memberServiceImpl.join -> MemoryMemberRepository.save를 호출하여 store에 저장되어이있는 값을 findById를 통해 가져와서 Member 타입의 findMember에 새로 저장을 했다라고 생각이 들어, 제 생각에는 member와 findMember의 주소값 비교가 다르다는 결과가 나와야 되지 않나 싶어 질문 남깁니다.member객체와 findMember의 주소값 비교가 어떻게 같을 수 있는 것인가요 ?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
application.properties: Unused property
spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa apllication.properties 파일 내용입니다. 이게 동작을 안하는 것 같아요. unused property 라는 것을 보아 파일 안에 내용을 작성하였더라도 사용되지 않는 것 같아요. Q1. 구글링, IntelliJ 권장에는 IDEA Ultimate를 설치하라는 얘기가 있던데 기존 설치되어있는 IntelliJ 를 지우고 새롭게 다시 설치해야하는 것인가요 ?? Q2. 질문 1의 방법을 사용하지 않고 이 문제를 해결할 수 있는 방법이 있을까요 ?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
localhost,css
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.db도 연결 잘되고 css적용하는 부분에서 막혔는데요, html에 인텔리제이에 있는 크롬을 작동시키면 css가 적용되지 않는 localhost:63342로 연결이 되고 따로 localhost:8080을 입력하면 계속 연결이 거부된다고 뜨네요.. 그리고 css에 관한 질문들을 보면서 버전도 확인하고 CDN도 해보면서 해도 css가 적용이 되지를 않아요.. 코드는 제가 몇번을 확인했는데도 다 맞아서 뭐가 문제인지를 모르겠네요.. 뭐가 문제인지 알려주시면 감사하겠습니다!
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
th:field를 할 경우에 네추럴 템플릿 기능 소실
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 섹션2 입력 폼 처리 강의를 듣고 질문드립니다 ! th:object로 객체를 지정하고 th:field로 해당 객체의 필드를 지정해서 name , id , value속성의 값을 할당할 수 있다는 사실을 알게 되었습니다 ! 그런데 name , id , value값을 지정 안 하고 th:field 하나로 해당 값들을 대체를 했으면랜더링 안 하고 절대경로로 정적인 html 파일을 웹 브라우저에서 그대로 열었을때 th:field 기능이 사용되지 않고 name , id , value 값 또한 없으니 정적인 html을 유지하면서 그 위에 랜더링 시에 th로 지정된 속성의 동적인 html을 출력하는 네추럴 템플릿 기능을 상실하게 되는 것 아닌가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
HTTP API 사용 시 MVC 패턴의 V가 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 잘 보고 있습니다! HTTP API로 데이터를 주고 받을 경우 JSON 형태의 데이터만 내려주게 되는데 이럴 땐 MVC 패턴을 사용할 수 있나요 ?MVC 패턴은 SSR 방식에서만 적용되어 VIEW가 타임리프,JSP형태로 내려가는건지 만약 CSR형태도 MVC패턴이 적용된다고 한다면 CSR의 형태일때는 VIEW가 JSON 자체인지가 궁금합니다.번외로 클라이언트 서버 아키텍쳐의 경우 클라이언트가 WS,서버가 WAS로 불러도 되나요 ? 느낌은 비슷한 거 같아서..
-
미해결스프링 핵심 원리 - 기본편
빌드 오류가 발생해요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]여기에 질문 내용을 남겨주세요.강의를 보면서 그대로 코드를 따라치면서 공부하고 있는데 한번씩 org.junit package does not exist 같은 오류가 나면서 빌드에 실패하는 경우가 있습니다.설정에서 build and run using, run tests using을 모두 intellij IDEA로 바꾼 상태인데로 오류가 반복되는데 이런 경우의 원인과 해결법이 알고 싶습니다.