스프링

[스프링 small Tip] 패키지명을 바꾸고나서부터 안 돌아가요!!

배고파요 2021. 11. 6. 12:24
728x90

https://gloria94682015.tistory.com/14

 

[스프링] 파일업로드 (죠기요)

 

gloria94682015.tistory.com

 

 

<!--  servlet-context.xml  -->
<context:component-scan base-package="kr.ac.kopo" />

 

 

--> component를 스캔하겠다. (controller, service, dao 같은 애들을 component  라고 부름.)

 

++ 우리가 어노테이션 쓰잖아?

@Controller,  @Service,  @Repository 들은 부모클래스를 가지고 있음. 

그 부모가 바로 @Component 임.!.!

그래서 controller 클래스 위에 꼭 @Controller 를 붙여야한다. 라고 하지만,

사실은. @Controller 대신에 @Component  를 붙여도 작동함.

그러면 왜 @Controller 로 써 ? --> 사실상 스프링입장에서는 차이가 없다고 봐도 무방한데, 

사용자의 입장에서 @Component 라고만 되어 있으면 구별하기 힘드니까 --> 이름으로 구별할라고 편의를 위해서 만든 것임. 

 

"kr.ac.kopo" 는 내가 준 @Controller, @Service, @Repository 를 찾는 경로!

그래서 base-package 를 지정해주면 그 패키지 밑을 다 찾는거임.

 

---------------------------------------------------------------------------------------------------------------------------------

 

 

가끔 그런 경우가 있음. 

 

 

 

 

 

 

 

 

근데 내가 프로젝트 명을 kor -> korea로 바꾸고 싶다!

 

 

 

이렇게 프로젝트명을 바꿨는데, servlet-context.xml 의  base-package 의 경로가 바뀌지를 않았음!!! 

그러니까 내가 만약에 중간에 프로젝트명을 바꿨다.

그러면 이제, 이 부분도 같이 바꿔줘야 한다.!

728x90