admin管理员组

文章数量:1406937

Unable to proxy interface-implementing method [public final void .springframework.web.filter.OncePerRequestFilter.doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain) throws jakarta.servlet.ServletException,java.io.IOException] because it is marked as final, consider using interface-based JDK proxies instead.

Unable to proxy interface-implementing method [public final void .springframework.web.filter.GenericFilterBean.init(jakarta.servlet.FilterConfig) throws jakarta.servlet.ServletException] because it is marked as final, consider using interface-based JDK proxies instead.

@Component
public class JwtRequestFilter extends OncePerRequestFilter {
@Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
    }

@Configuration
@EnableWebSecurity
public class SecurityConfig {

    @Autowired
    private JwtRequestFilter jwtRequestFilter;

   @Bean
    public SecurityFilterChain filterChain(HttpSecurity http)
}

I keep getting the errors above when I start the application. I tried creating constructors and removing the autowired and component annotation, but still the same errors. When I remove the jwtRequestFilter, the application starts. Have you encountered any similar problems? Is there problem with the setup? Or I need to handle some errors?

Unable to proxy interface-implementing method [public final void .springframework.web.filter.OncePerRequestFilter.doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain) throws jakarta.servlet.ServletException,java.io.IOException] because it is marked as final, consider using interface-based JDK proxies instead.

Unable to proxy interface-implementing method [public final void .springframework.web.filter.GenericFilterBean.init(jakarta.servlet.FilterConfig) throws jakarta.servlet.ServletException] because it is marked as final, consider using interface-based JDK proxies instead.

@Component
public class JwtRequestFilter extends OncePerRequestFilter {
@Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
    }

@Configuration
@EnableWebSecurity
public class SecurityConfig {

    @Autowired
    private JwtRequestFilter jwtRequestFilter;

   @Bean
    public SecurityFilterChain filterChain(HttpSecurity http)
}

I keep getting the errors above when I start the application. I tried creating constructors and removing the autowired and component annotation, but still the same errors. When I remove the jwtRequestFilter, the application starts. Have you encountered any similar problems? Is there problem with the setup? Or I need to handle some errors?

Share asked Mar 4 at 9:06 Aucta DevAucta Dev 12 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

Remove the @Component or @Service annotation from here:

public class JwtRequestFilter extends OncePerRequestFilter {

    private final MyUserDetailsService userDetailsService;

    private final JwtUtil jwtUtil;

    public JwtRequestFilter(MyUserDetailsService userDetailsService, JwtUtil jwtUtil) {
        this.userDetailsService = userDetailsService;
        this.jwtUtil = jwtUtil;
    }
}

In your SecurityConfig:

@Configuration
@EnableWebSecurity
public class SecurityConfig {

    private final MyUserDetailsService myUserDetailsService;
    private final JwtUtil jwtUtil;

    @Autowired
    public SecurityConfig(MyUserDetailsService myUserDetailsService, JwtUtil jwtUtil) {
        this.myUserDetailsService = myUserDetailsService;
        this.jwtUtil = jwtUtil;
    }

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        JwtRequestFilter jwtRequestFilter = new JwtRequestFilter(myUserDetailsService, jwtUtil);
    

    // ... remaining code ...
}

本文标签: javaJwtRequestFilter throws Unable to proxy interfaceimplementing methodStack Overflow