inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

윤재성의 만들면서 배우는 Spring MVC 5

미니 프로젝트 관련 질문 드립니다.

271

dlawnstn12345

작성한 질문수 16

0

1. 첫번째 질문은 굳이 로그인 UserBean을 따로 빈으로 왜 설정해야 하는 지가 궁금합니다. 위의 사진처럼 그냥 그 자리에서 바로 UserBean loginUserBean을 자동 주입으로 넣어도 결과가 제대로 나오는 것 같은데 저렇게 하면 안되나요? 어차피 싱글톤이라서 똑같은 것 아닌가요?

2.@component는 개발자가 개인적으로 만든 클래스를 빈으로 등록, @Bean은 개발자가 손댈 수 없는 라이브러리를 빈으로 등록할 때 쓴다고 들었습니다. 근데 UserBean클래스는 개발자가 개인적으로 만든 클래스인데 Bean으로 왜 등록해야하는 지가 궁금합니다.

MVC XML spring java

답변 1

0

소프트캠퍼스

1. 언급하신대로 하셔도 bean은 주입됩니다. 하지만 따로 loginUserBean을 정의한 이유는 UserBean의 사용목적 때문입니다. 회원가입, 수정 등에서 사용할 UserBean은 데이터베이스 처리가 완료되면 폐기할 Bean들이고 loginUserBean은 사용자가 브라우저를 닫을 때 까지 사용할 bean이기 때문입니다. 클래스는 같지만 용도가 다르고 수명이 다르기 때문에 bean을 별도로 정의한 부분입니다.

2. 1번과 관계가 있는데요.. loginUserBean을 @Component로 정의하지 않은 이유가 UserBean의 경우 사용 목적에 따라 수명이 다르기 때문입니다. 만일 loginUserBean도 @Component로 정의한다면 UserBean과 똑같은 클래스를 새롭게 정의해야 합니다. @component는 개발자가 개인적으로 만든 클래스를 빈으로 등록, @Bean은 개발자가 손댈 수 없는 라이브러리를 빈으로 등록이라는건 일반적으로 이렇게 합니다~~ 라는 것이지 반드시 그렇게 해야 하는것만은 아닙니다.. @Component의 경우 어차피 클래스를 만들어야 하니깐 클래스 만들 때 Bean도 같이 정의하자..해서 지원되는 부분입니다... 본 프로젝트에서는 UserBean의 사용용도와 수명이 두 가지로 구분되고 있기 때문에 같은 클래스를 놓고 @Component로 Bean을 한번 등록하고 Session Scope의 빈을 하나 더 정의한부분입니다. 

dependencies 셋팅 부분에서 에러가 발생하네요

0

288

1

학습 페이지 가 열리지 않아서 강의 시청이 안 됩니다.

1

262

1

8강 에서 servlet-context.xml에 설정에서 에라

0

398

1

자바 상단메뉴 셋팅 다하고 실행시키니 에러가 납니다.

0

1805

1

Dynamic web 프로젝트를 메이븐 프로젝트로 컨버트해서 사용하는 이유가 궁굼합니다.

0

559

1

eclipse버전이 달라 메뉴가 달라요.

0

467

2

XML 방식에서 BoardDao의 modifyContentInfo

0

384

1

property editor 설치할때 오류가 나네요

0

3030

2

Java 설정 방식에서

0

375

1

22강과 23강의 "강의 내용이 같은지 확인" 부탁드립니다.

0

390

1

jsp form:hidden 부분 타임 리프 변환 혹시 질문 될까요?

0

423

1

13강 List<Integer> data3

0

335

1

sqldeveloper 22.2버전과 오류

0

542

1

44강 데이터 베이스 테이블 만들기중인데, 테이블이 안 만들어집니다,.

0

658

1

pom.xml 셋팅 질문

0

290

1

오류 질문드립니다.

0

325

1

오류 질문드립니다.

0

463

0

생성 오류

0

300

1

에러 질문입니다.

0

631

1

에러 질문드립니다.

0

335

1

에러 질문입니다.

0

566

1

maven dependency management

0

245

1

에러질문

0

233

2

이미지

0

311

1