티스토리 뷰
No bean named 'springSecurityFilterChain' available
berryberries 2023. 10. 23. 17:20로그인구현을 스프링 시큐리티로 다시 구현해 보고 싶어서 설정 잡던 중에 나온 오류
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'springSecurityFilterChain' available
이 오류는 빈이 설정되지 않아서 설정 파일을 찾을 수 없어서 나타나는 에러메세지이다.
분명 필요한 설정 다 했고, 빈 설정도 했는데 왜 빈을 못찾을까 하면서 구글링 하면서 해결법들을 확인했다.
그런데 그 해결법들은 나에게 해당사항 없었다. 설정은 다 잡았으니까!
그러다가 우연하게 눈에 띈 저 태그들
원인 발견!
스프링 설정파일 위치설정하는 코드가 중복
중복코드 지우고 다시 서버 재시작 했더니 정상적으로 화면이 떴다!
다시 정리해 보는 오류!
No bean named 'springSecurityFilterChain' available
- 원인 : 빈이 설정되지 않아서 설정 파일을 찾을 수 없는 경우
- 해결법
1. web.xml에서 security-context.xml을 찾을 수 있도록 빈설정해주기
<!--스프링 설정파일 위치 설정 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/root-context.xml
/WEB-INF/spring/spring-security.xml // 이거 추가
</param-value>
</context-param>
2. 빈을 먼저 생성해주고 빈을 찾을 수 있게 설정해주기
구글링 하는도중에 찾은 해결법인데 빈을 생성해줄 때 xml파일에서 필터와 빈생성 태그의 위치에도 영향이 있는거 같았다.
web.xml에서 SpringSecurityFilterChain이 bean으로 생성되기 전에 spring-security.xml 설정을 먼저 불러오면 bean이 생성되기 전에 찾는데 이러면 bean을 찾을 수 없다고 한다.
이말을 보고 놓고 있던 스프링공부 다시해야겠다는 생각이 아주 무럭무럭 났다.
빈 생성 과정은 공부하고 따로 포스팅 해야지.
그래서 필터체인 설정을 먼저 써주고나서 스프링 설정파일 위치설정을 그 뒤에 적어두어야 먼저 web.xml에서 필터체인 빈이 설정되고 spring-security.xml의 설정을 불러오게되면 빈을 찾는다.
[해당 블로그 포스팅글]
[Spring] NoSuchBeanDefinitionException: No bean named 'springSecurityFilterChain' is defined 오류 해결
[Spring] NoSuchBeanDefinitionException: No bean named 'springSecurityFilterChain' is defined 오류 해결 전자정부 프레임워크 Spring (Maven) Project를 구동하였더니 발생한 에러였다. 심각: Exception starting filter springSecurityFil
haenny.tistory.com
<!--스프링 필터체인 설정 -->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--스프링 설정파일 위치 설정 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/root-context.xml
/WEB-INF/spring/spring-security.xml
</param-value>
</context-param>
'프로젝트 > finalproject' 카테고리의 다른 글
[파이널프로젝트] 파일을 업로드하면 데이터를 못읽어오는 문제 (0) | 2023.12.05 |
---|---|
BCryptPasswordEncoder : 암호화 클래스 (0) | 2023.10.31 |
spring 회원가입 구현 2 - 이메일 인증 (0) | 2023.06.23 |
spring 회원가입 구현 1 - jsp에서 입력값 받기. (0) | 2023.06.23 |
<input type=hidden> (0) | 2023.06.08 |