Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- springboot
- oauth 로그인
- 멀티뷰
- jpa bulk insert
- Androoid Studio
- multiview
- 뷰 페이징
- android studio
- 로또 등수 알고리즘
- 스프링 소셜 로그인
- 쿠버네티스
- jpa 최적화
- 쿠버네티스 #fabric8
- 리사이클러뷰 멀티뷰
- 로또 앱 만들기
- spring 채팅방
- 로또 등수 코드
- 스프링 환경변수 설정
- 중간 테이블 엔티티 최적화
- 안드로이드 스튜디오
- 채팅방 구현
- hibe
- 리사이클러뷰
- mysql multi-row insert
- .env
- 스프링 시큐리티 없이
- 스프링 오어스
- 스프링 환경변수
- java
- jpa dto 매핑
Archives
- Today
- Total
야미의 개발
스프링 부트 / Controller가 제대로 동작하지 않을 때 본문
개발을 시작하기에 앞서 시험 적으로 index 페이지에 /main url만 잘 연결되는지 확인하려고 하였으나...
/main으로 가지 않고 error 404 페이지가 나왔다...
일반적으로는 component scan이 제대로 안된 경우 발생하는데
이때는
@ComponentScan(basePackages = "com.project.Booktion")
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
public class BooktionApplication {
public static void main(String[] args) {
SpringApplication.run(BooktionApplication.class, args);
}
}
잘 모르겠으면 이렇게 아예 @controller와 기타 어노테이션이 붙은 파일들의 폴더를 ComponentScan어노테이션으로 설정하면됨
아무런 설정이 없을때
스프링부트는 자동적으로 SpringBootApplication이 있는 폴더에서 부터 컴포넌트 스캔이 이루어짐
따라서 위의 이미지처럼 com.project.Booktion 하위에 있는 폴더들을 component scan 하고싶다면
com.project.Booktion에 바로 BooktionApplocation을 위치시키면 됨
하여간 내 플젝은 그런 이유는 아니었고 3시간 동안 삽질하다가
정말 오랜 시간 헤맸는데 어처구니 없게 이유를 발견
@Controller
@RequiredArgsConstructor
@RequestMapping("/main")
public class MainController {
private final BookService bookService;
public String bookList(Model model){
// List<Book> books = bookService.findAll();
// model.addAttribute("books", books);
log.debug("mainController","worked");
return "main";
}
}
위에서 무언가 기시감이 느껴지지 않는가?
컨트롤러에만 requestMapping을 해주고 정작 메소드에는 해주지 않았음...
@Controller
@RequiredArgsConstructor
@RequestMapping("/main")
public class MainController {
private final BookService bookService;
@GetMapping
public String bookList(Model model){
// List<Book> books = bookService.findAll();
// model.addAttribute("books", books);
log.debug("mainController","worked");
return "main";
}
}
중간에 만들어 주고 오류 해결!
'스프링 > 웹 개발' 카테고리의 다른 글
Comments