inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

회원 웹 기능 - 등록

혹시 되나 싶어서 MemberController 를 SpringConfig 등록을 시도해 봤습니다.

해결된 질문

368

Truestar

작성한 질문수 68

1

이렇게 해보니 MemberController 의

@GetMapping("...") URI 가 이 작동을 안하는데 

왜 작동을 안하는지 여쭤봐도 될까요?

디버그 로 컨트롤러가 등록이 잘된지 해쉬값 확인으로 생성이 됬는지 확인은 했으나
URI 호출 시 GetMapping 주소가 작동하지 않는것을 보면..
등록이 잘 안됬나 싶기도 하구요...
의문이네요...

spring-boot spring MVC java

답변 5

2

김영한

안녕하세요. Truestar님^^

이번 강의에서는 자세히 소개하지 않았지만

@Controller, @Repository 같은 애노테이션들은 단순히 컴포넌트 스캔의 대상이 되는 것 뿐만 아니라, 스프링이 부가적인 기능들을 더해서 처리해줍니다.

@Controller는 스프링 MVC에서 컨트롤러로 사용되도록 다양한 부가 기능이 동작하고,

@Repository도 DB에 종속된 예외 처리를 스프링 기반의 예외 처리로 변경해주는 등 다양한 부가 기능이 동작합니다.

그래서 빈으로 직접 등록해도 해당 애노테이션이 없으면 이런 부가기능들이 동작하지 않습니다^^

도움이 되셨길 바래요.

1

루시

질문 감사드립니다. 이해에 도움이 되었습니다

이후 강의에서 설명해주시는데요.

(Bean 등록 설정을 해놓고)

DI로 Bean을 주입받는 방법이

생성자로 방식일 때

생성자가 `딱 1개인 경우`에는

생성자에 `@Autowired 애노테이션을 생략해도

된다`고 설명해주십니다.

1

Truestar

@Controller 가 그런 그런 역할 이었군요!!!
이번 일로 애노테이션 이라는 큰 호수를 만난것 같습니다.
친절한 답변 정말 감사드립니다!

0

Truestar

제가 알기론 원리는 이렇습니다.

많은 어노테이션 중에..

@Controller @Service @Repository 가 명시된 클래스 들은 모두 @Component 이기에

스프링 내부 컨테이너로 부터 @ComponentScan 대상이 되어 자동 등록이 되구요,

@Autowired 는

선언된 필드에 컨테이너의 빈 인스턴스를 연결짓는 역할을 합니다

그래서 @Autowired 는 컨트롤러 작동에 영향을 주지 않아서

빼도 작동하는 것 이겠지요

0

안형욱

SpringConfig에서 service와 repository 를 bean 등록을 해줬으면 MemberController에서 MemberController 생성자에 대한 Autowired 어노테이션을 빼도 되는 건가요?

영상에서는 어노테이션이 있는데, 빼고 해도 잘 동작하길래 제가 맞게 이해한건지 질문드립니다.

..

0

74

2

Unused property.....

0

98

2

project JDK is misconfigured

0

130

2

외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석

0

82

2

단위/통합 테스트 버전충돌 문제

0

91

2

❗️springboot 4.0.2 버전 aspectj dependency 설정❗️

0

228

1

왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?

0

101

2

윈도우 build test오류 질문

1

102

2

테스트 관련 공부에 대한 조언을 얻고 싶습니다

0

98

2

테스트 실행 시 에러 질문

0

289

1

name을 통한 비교와 객체를 통한 비교

0

77

1

빌드 후 libs 없음

1

128

1

윈도우 gradlew.bat 에러

0

167

1

@PostMapping("/members/new")가 동작하지 않습니다

0

88

1

java static class와 kotlin class

0

77

1

스프링 DB연결

0

126

1

소요 시간

0

85

2

ddl.sql에 빨간 밑줄

1

101

2

welcome page 에러

0

180

3

잘 모르겠습니다.

0

163

2

fail을 똑같이 쳤는데 오류가 발생해요

0

156

2

index.html Welcome page

0

121

1

프로젝트 gradle-groovy ?

0

364

1

테스트코드 메서드명 한글

0

199

2