Fehler beim erstellen bean mit dem Namen 'securityConfig': Injektion von autowired Abhängigkeiten ist fehlgeschlagen
Ich versuche zu kombinieren, Java-config und xml-Konfiguration für spring security-Authentifizierung. Aber ich erhielt eine Fehlermeldung:
Fehler bei der Erstellung bean mit dem Namen 'securityConfig': Injektion von autowired Abhängigkeiten ist fehlgeschlagen
Was zu sein scheint das problem mit meinem code? War googeln für die Antworten, aber haben keine gefunden.
Vielen Dank im Voraus. hoffe Ihr könnt mir helfen.
Stack-trace:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityConfig': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter.setAuthenticationConfiguration(org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter.setAuthenticationConfiguration(org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
java-config: SecurityConfig.java
@Configuration
@EnableWebMvcSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/webapp/resources/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
@Autowired
public void registerGlobalAuthentication(
AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER");
}
}
web.xml
<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Processes application requests -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
habe ich bereits erklärt, component-scan in meinem servlet-context.xml
<context:component-scan base-package="ph.project.p3.conf" />
Wie hast du dieses Problem lösen?
InformationsquelleAutor totoDaryl | 2014-04-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie versuchen, hinzufügen einer
@Component
annotation. So das autowiring funktionieren sollte.InformationsquelleAutor Yannick Block
Müssen Sie
<context:component-scan>
im Frühjahr-config-Datei. Ihr Antrag wird sonst nicht Scannen Sie Ihr package-Struktur zu finden und zu registrieren Bohnen innerhalb einer Anwendung Kontext.Syntax:
<context:component-scan base-package="org.example.<yourapplicationName>"/>
Eg:
<context:component-scan base-package="oph.project.p3.conf"/>
InformationsquelleAutor Anil Satija