inflearn logo
講義

講義

知識共有

lbd49464369さんの投稿

lbd49464369 lbd49464369

@lbd49464369

受講生
-
受講レビュー
-
講義評価
-

投稿 13

Q&A

서블릿 생성 시점과 역할 관련 질문입니다!

안녕하세요. 지나가다가 저도 고민했던 부분이라 생각을 공유해보고 싶습니다! 2. 웹 애플리케이션 서버에서 서블릿 객체를 받아 HTTP 응답 메시지를 생성하는 것이라고 생각했었습니다. 즉, 서블릿은 개발자가 만든 내용을 서블릿 객체로 만들고 가장 앞단에서 웹 애플리케이션 서버가 실제 브라우저에게 전송할 HTTP 응답 메시지를 만들어 응답하는게 아닌가 생각했어요 저의 의견이었습니당 ps 저와 비슷한 고민들을 하실 것 같아서 같이 스터디하면 어떨까 하여 인프런 스터디 공고 공유 드립니다~ 관심 있으시면 연락주세요!!😁

いいね数
5
コメント数
2
閲覧数
2178

Q&A

@Transactional

감사합니다!!!

いいね数
1
コメント数
2
閲覧数
397

Q&A

엔티티설계질문입니다.

답변 정말 감사합니다!!! 의문이 2가지 있습니다 1. 현재 양방향으로 대체한 것이 올바른 것인가요? 양방향으로 하여도 playlist 중심으로 하여, 외래키 참조를 설정한 것이 올바르다고 생각하거든요. 1 : N은 테이블의 외래키 참조가 1에 있기 때문에 헷갈리기 때문이죠 2. 객체는 능동적이어야 하며, playlist 기능은 playlist를 중심으로 하라고 하셨는데 이 말씀은 순수하게 기능적인 면에서 보았을 때 member, playlist, video의 기능을 각각 자기 중심적으로 개발하라는 말씀이신거죠? 회원조회의 기능이라면 member가 참조를 가지고 있는 것이 좋은 것이겠구요. 하지만 저는 회원조회 할 일이 없으니 그럴 필요가 없구요. 다만 playlist는 회원의 기능이 아닌 playlist의 기능이기 때문에 playlist가 중심이 되는 것 이구요 아!! 그리고 혹시 엔티티 설계나 테이블 설계 같은거 하실 때 그림은 어떤 툴을 사용하시나요?

いいね数
1
コメント数
3
閲覧数
538

Q&A

@ModelAttribute

답변 감사합니다. 추가 질문이 있습니다. 아래 두가지 케이스로 모두 했을 때 에러가 발생하지 않는데 이 부분 설명은 조금 길어지는 부분일까요? MVC강의에서 다뤄주실까요? public String updateItem ( BookForm form ) { public String updateItem ( @ModelAttribute ( "boo" ) BookForm form ) {

いいね数
0
コメント数
3
閲覧数
503

Q&A

단위 테스트, 통합 테스트에 대한 질문입니다.

추가 질문입니다. 테스트는 메서드 단위보다는 요구사항? 별로 하는게 좋다는 말도 들었는데 도메인 로직 테스트 시에는 메서드 별로 하는게 좋은건가요?

いいね数
6
コメント数
3
閲覧数
1494

Q&A

Jpql질문

답변 정말 감사합니다!!! 이렇게 길게 써주시다니 귣굳!! 한가지 이해가 안가는 부분이 있어요 테스트 코드로 검증한다고 하셨는데 이 부분은 해당 강의 목록에는 없는 것 같은데 이는 활용1편을 공부하면서 자연스레 이해가 되는 부분일까요?? 스프링 핵심원리도 봤는데 거기서는 DB테스트를 위주가 아니라서 테스트 코드로 검증하기 때문에 1번, 2번 질문의 단점이 해결 된다는게 이해가 될까말까 하네요 ㅎ.ㅎ 감사합니다!!

いいね数
16
コメント数
3
閲覧数
531

Q&A

TestBean 클래스의 자동 빈등록 이유

이해가 되었습니다!!! 감사합니다. 혼자 정리 다시 해보면서 확실히 이해하면 될 것 같아요!! 감사합니다!!

いいね数
8
コメント数
11
閲覧数
724

Q&A

TestBean 클래스의 자동 빈등록 이유

답변 감사합니당 자꾸 도돌이표 질문을 드리는 것 같아 죄송합니다 ㅜ.ㅜ 이해한게 맞는지 확인 부탁드립니다!!! AnnotationConfigApplicationContext빈의 용도는 이름 그대로 어노테이션으로 설정된 클래스를 읽어 컨테이너를 생성하고 컨테이너에 빈으로 등록하는 역할을 하는 것이고, TestBean에 @Configuration이 달려있지 않아도 동일하게 빈으로 등록을 해줍니다. 다만 @Bean이 클래스 내에 정의 되어 있다면 같이 빈으로 등록을 해주는 것이구요. 결국 생명주기?? 라고 해야할지 모르겠지만, 생명주기락고 한다면 크게 3가지로 **컨테이너 생성** -> **빈등록** -> **의존관계주입** 으로 생각합니다. AnnotationConfigApplicationContext는 BeanFactory의 하위 레벨이기 때문에 결국 컨테이너이고, 그렇기 때문에 new AnnotationConfigApplicationContext(TestBean.class)를 했을 때 TestBean에 @Configuration이 없지만, 컨테이너를 먼저 생성 후 TestBean을 등록을 할 수 있습니다. @Component는 3가지 생명 주기를 손쉽게 할 수 있게 해주는 것이구요. 다만, @Configuration이 없을 때의 단점은, 싱글톤이 보장되지 않는다는 것 이구요. 자바 왜냐하면, 결국 자바코드이기 때문에 아래와 같을 때 memberService()에 있는 return new MemberMemoryRepository (); 1번, memberRepository()에 있는 return new MemberMemoryRepository (); 1번 총 2번이 생성 되기 때문에 memberService()의 값과, memberRopository()의 값은 싱글톤이 아니게 된니다. public class AppConfig { @Bean public MemberService memberService() { System.out.println("AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { System.out.println("AppConfig.memberRepository"); } } 추가로 ApplicationContext ac = new AnnotationConfigApplicationContext ( AutoAppConfig . class ); ac.getBean(...); 을 하는 행위를 해주는 것이 @Autowired 입니다. 감사합니다!!! 친철한 답변 감사합니다!!

いいね数
8
コメント数
11
閲覧数
724

Q&A

TestBean 클래스의 자동 빈등록 이유

결국 new AnnotationConfigApplicationContext ( TestBean . class ); 위의 코드가 **@Configuration**과 **@Bean**으로 등록 되어 있으면 등록된 빈 설정 정보를 가져오게 되는 것 이고, 없다면 위의 코드에서 빈으로 등록하게 되는 것이 맞는 건가요?

いいね数
8
コメント数
11
閲覧数
724

Q&A

TestBean 클래스의 자동 빈등록 이유

답변 감사합니다!!! 추가 질문이 있습니다. 먼저 예제는 아래와 같은 예제입니다. 1. TestBean에는 @Configuration이 없고, @Bean도 없습니다. 해당 예제는 주입할 스프링 빈이 없을 때 통과 시키기 위한 예제입니다. 하지만 이런 상황에 TestBean을 스프링 빈으로 등록하기 위해 new AnnotationConfigApplicationContext ( TestBean . class ); 위의 코드로 빈 등록을 한 것이라고 이해 되었습니다. 즉, TestBean 클래스에서 아무런 정보도 없지만 해당 코드로 인해 해당 클래스를 빈으로 등록할 수 있는 것 같습니다. 2. 만약 TestBean에 @Configuration이 달렸고, @Bean도 존재 하거나 @Component이 달렸을 때는 컨테이너가 생성될 때!!! 빈으로 등록하고, new AnnotationConfigApplicationContext ( TestBean . class ); 여기서는 등록된 정보를 가져오는 역할만 하는 것으로 보이는데 맞을까요? 즉, 1번일 때의 역할은 등록도 하고 설정정보를 가져오기도 하며, 2번 일 때는 설정정보만 가져오는 것으로 이해 되었습니다. 앗!! 혹시 오해 하시고, 더욱 자세한 답변을 주실까봐 남겨요 @Bean이 존재하는 클래스에 @Configuration이 있을 때와 없을 때의 차이는 강사님께서 답변 해주셔서 알고 있습니다 없어도 스프링 빈으로 등록은 되지만, 존재할 때는 싱글톤이 보장되지만, 없을 때는 보장되지 않는다!! public class AutowiredTest { @Test public void autowiredOption() { ApplicationContext ac = new AnnotationConfigApplicationContext(TestBean.class); TestBean bean = ac.getBean(TestBean.class); System.out.println("bean = " + bean); } static class TestBean { //호출 안됨 @Autowired(required = false) public void setNoBean1(Member member) { System.out.println("setNoBean1 = " + member); } //null 호출 @Autowired public void setNoBean2(@Nullable Member member) { System.out.println("setNoBean2 = " + member); } //Optional.empty 호출 @Autowired(required = false) public void setNoBean3(Optional member) { System.out.println("setNoBean3 = " + member); } } }

いいね数
8
コメント数
11
閲覧数
724