java spring/spring mvc9 spring mvc 05 - annotation으로 DI하기(@Service, @Controller) @Service 전 포스팅에서 생성된 빈 객체들을 @Autowired를 사용하여 조립하였다. 이제 빈 객체들을 하나씩 어노테이션을 사용해서 생성하도록 해보자. 지난 포스팅에서 위 xml의 24라인을 어노테이션으로 바꿧다. 의존성 주입을 위해서는 @Autowired가 필요하지만 빈 객체를 생성하기 위해서는 @Component가 사용된다. 또한 @Component 어노테이션을 사용하기 위해서는 14라인의 코드가 필요하다. 해당 코드는 base-pakage에 적힌 패키지들을 둘러보며 @Component 어노테이션이 있는지 찾아보라는 것이다. 또한 이 코드가 13라인의 코드를 포함하므로 13라인은 생략할 수 있다. 이제 23라인의 JDBCNoticeService 클래스에 어노테이션을 사용해보자. 22라인을 보면.. 2021. 5. 6. spring mvc 04 - annotation으로 DI하기(@Autowired) xml파일로 주입하던 의존성을 어노테이셔 기반으로 바꿔보자. 각 xml에 아래 빨간 밑줄과 같은 코드가 필요하다. 위와 같은 내용이 있어야 스프링이 어노테이션으로 의존성을 주입함을 알 수 있다. 위의 xml파일의 주석처리한 17라인을 @Autowired를 사용하여 주입한다. @Component가 아닌 @Autowired를 쓰는 이유는 당연하다. 우리는 Bean객체를 새로 등록하는게 아니라, 이미 만들어진 빈 객체를 조립하는 것이기 때문이다. Component가 Bean 객체를 생성해준다면, Autowired는 생성된 객체를 다른 객체에 주입(=조립)해준다. 그니까 위에 보이는 NoticeService형 객체 noticeService는 이미 빈 객체가 생성된 것이다. 아래의 service-context.x.. 2021. 5. 6. spring mvc 03 - static파일 열어주기 디스패처는 기본적으로 css/js/image같은 정적 파일들의 서비스를 막는다. 그래서 정적파일들의 서비스를 위해서는 아래와 같이 dispatcher-servlet.xml에 태그들을 추가해야한다. 22번재 라인을 보면 /를 지니고 오는 모든 정적 파일들은 /(루트, 현재 최종 루트는 webapp이다.) 아래 static 폴더를 루트로 아래에 있는 폴더들에서 찾게 되는 것이다. 이렇게 하면 보이지 않던 이미지등의 파일들이 서비스된다. 위처럼 엑박뜨던 이미지, css들이 설정을 바꾸고 나니 위처럼 다 뜬다!! *위의 html파일은 유튜브에서 강의 하시는 뉴렉처님의 사이트에서 받은 파일입니다.* 2021. 5. 1. spring mvc 02 - ViewResolver사용하기 컨트롤러에서 뷰 매핑을 위해 jsp파일의 절대 경로를 적어주어야했던 불편함이 있었다. 이러한 불편함을 ViewResolver가 해결해준다. 컨트롤러들의 매핑정보를 담고 있는 디스패처 서블릿.xml에 빨간 네모박스의 내용을 추가해주면 된다. InternalResourceViewResolver 클래스를 Bean객체로 등록하고 prefix는 /WEB-INF/view/를 suffix는 .jsp 로 설정해주면 컨트롤러에tj view 매핑시에 index만 써주면 저절로 /WEB-INF/view/index.jsp 로 이어준다. 위처럼 컨트롤러에서 뷰 매핑이 아주 간결해진 것을 볼 수 있다. 2021. 5. 1. 이전 1 2 3 다음