国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Autowired members must be defined in valid Spring bean (@Component|@Service|...)

這篇具有很好參考價值的文章主要介紹了Autowired members must be defined in valid Spring bean (@Component|@Service|...)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

package com.imooc.mall.filter;

import com.imooc.mall.common.ApiRestResponse;
import com.imooc.mall.common.Constant;
import com.imooc.mall.exception.ImoocMallExceptionEnum;
import com.imooc.mall.model.pojo.Category;
import com.imooc.mall.model.pojo.User;
import com.imooc.mall.service.UserService;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
import javax.servlet.http.HttpSession;

import com.imooc.mall.service.impl.UserServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * 描述:     管理員校驗過濾器
 */

public class AdminFilter implements Filter {

    @Autowired
    UserService userService;


    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
            FilterChain filterChain) throws IOException, ServletException {
        System.out.println("執(zhí)行了一次自定義的AdminFilter過濾器");

        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpSession session = request.getSession();
        User currentUser = (User) session.getAttribute(Constant.IMOOC_MALL_USER);
        if (currentUser == null) {
            PrintWriter out = new HttpServletResponseWrapper(
                    (HttpServletResponse) servletResponse).getWriter();
            out.write("{\n"
                    + "    \"status\": 10007,\n"
                    + "    \"msg\": \"NEED_LOGIN\",\n"
                    + "    \"data\": null\n"
                    + "}");
            out.flush();
            out.close();
            return;
        }
        //校驗是否是管理員
        boolean adminRole = userService.checkAdminRole(currentUser);
        if (adminRole) {
            filterChain.doFilter(servletRequest, servletResponse);
        } else {
            PrintWriter out = new HttpServletResponseWrapper(
                    (HttpServletResponse) servletResponse).getWriter();
            out.write("{\n"
                    + "    \"status\": 10009,\n"
                    + "    \"msg\": \"NEED_ADMIN\",\n"
                    + "    \"data\": null\n"
                    + "}");
            out.flush();
            out.close();
        }
    }

    @Override
    public void destroy() {

    }
}

可以過濾未登錄的用戶請求,但是

Autowired members must be defined in valid Spring bean (@Component|@Service|...),生鮮電商,spring,servlet,java
Autowired members must be defined in valid Spring bean (@Component|@Service|...),生鮮電商,spring,servlet,java
但是無法進一步驗證管理員身份(這里我用管理員號登錄了)
Autowired members must be defined in valid Spring bean (@Component|@Service|...),生鮮電商,spring,servlet,java
Autowired members must be defined in valid Spring bean (@Component|@Service|...),生鮮電商,spring,servlet,java
定位到AdminFilter中的問題
在AdminFilter中使用了Bean自動注入
Autowired members must be defined in valid Spring bean (@Component|@Service|...),生鮮電商,spring,servlet,java
Autowired members must be defined in valid Spring bean (@Component|@Service|...),生鮮電商,spring,servlet,java
Autowired members must be defined in valid Spring bean (@Component|@Service|...),生鮮電商,spring,servlet,java
自動注入對象必須定義在有效的spring bean內(nèi),即需要將AdminFilter定義為bean,才能在該類中注入其他bean。
Autowired members must be defined in valid Spring bean (@Component|@Service|...),生鮮電商,spring,servlet,java
但是將AdminFilter定義為bean后,他會攔截所有的請求。。。
Autowired members must be defined in valid Spring bean (@Component|@Service|...),生鮮電商,spring,servlet,java
Autowired members must be defined in valid Spring bean (@Component|@Service|...),生鮮電商,spring,servlet,java
正確修改方式:
Autowired members must be defined in valid Spring bean (@Component|@Service|...),生鮮電商,spring,servlet,java

未登錄前
Autowired members must be defined in valid Spring bean (@Component|@Service|...),生鮮電商,spring,servlet,java
登錄了普通用戶
Autowired members must be defined in valid Spring bean (@Component|@Service|...),生鮮電商,spring,servlet,java

登錄了管理員用戶
Autowired members must be defined in valid Spring bean (@Component|@Service|...),生鮮電商,spring,servlet,java文章來源地址http://www.zghlxwxcb.cn/news/detail-607556.html

到了這里,關于Autowired members must be defined in valid Spring bean (@Component|@Service|...)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 雜記——4.書寫spring時出現(xiàn)的Error creating bean with name ‘user0‘ defined in file錯誤

    雜記——4.書寫spring時出現(xiàn)的Error creating bean with name ‘user0‘ defined in file錯誤

    目錄 1.問題描述 2.情況描述: 3. 解決方法 4. 問題原因? 當我們運行一個spring程序時,出現(xiàn)下圖的錯誤: 重點語句: ?Error creating bean with name \\\'user011\\\' defined in file [D:地址]: ? Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDef

    2024年02月13日
    瀏覽(27)
  • Error: Header name must be a valid HTTP token [“授權“]

    使用SpringSecurity和OAuth時出現(xiàn)的問題?? postman一直報錯: 原因:postman使用的是漢化版本? 當選擇為 Basic Auth時 自動生成的頭對應的key和value為: 授權: Basic + base編碼? ? ? 導致header中key為中文 發(fā)送失敗 解決方法:? 1 (推薦) 不使用漢化的postman 2 不用在Basic Auth中輸入 賬號和密碼 直

    2024年02月11日
    瀏覽(26)
  • MySQL 建表報錯:Incorrect table definition; there can be only one auto column and it must be defined as a

    示例 :表中有兩個列,id、real_id,id 列只想作為記錄的序號存儲(如需要保持排序的記錄),real_id 列則是記錄真正的主鍵。所以將 id 列設為自增列,方便,不需要程序控制序號遞增。建表語句如下: 現(xiàn)象 :建表報錯,報錯信息: Incorrect table definition; there can be only one aut

    2024年02月13日
    瀏覽(27)
  • Mysql建表報錯:Incorrect table definition; there can be only one auto column and it must be defined as a

    Mysql建表報錯:Incorrect table definition; there can be only one auto column and it must be defined as a

    報錯: ???? ????Incorrect?table?definition;?there?can?be?only?one?auto?column?and?it?must?be?defined?as?a?key. 原因: ????????建表語句錯誤,表中只能包含一個自增列,且該列必須為鍵。問題是雖然這個表設置了其它主鍵,但是報錯的建表語句中沒有把自增列設為鍵導致的。

    2024年02月15日
    瀏覽(27)
  • Unity解決動畫不可用:The AnimationClip ‘XXX‘ used by the Animation component ‘XXX‘ must be marked as Legacy.

    Unity解決動畫不可用:The AnimationClip ‘XXX‘ used by the Animation component ‘XXX‘ must be marked as Legacy.

    在Unity 2019.4.38.f1c1以上的版本,創(chuàng)建的創(chuàng)建Animation Clip無法使用,作為組件的默認Clip的話,那么游戲運行的時候這個Clip其實是播不出來的,而且Console會報一條 “The AnimationClip ‘XXX’ used by the Animation component ‘XXX’ must be marked as Legacy.” 的警告信息,以及一條 “Default clip co

    2023年04月08日
    瀏覽(37)
  • vue3中404頁面顯示問題Catch all routes (“*“) must now be defined using a param with a custom regexp.

    vue3中404頁面顯示問題Catch all routes (“*“) must now be defined using a param with a custom regexp.

    目錄 項目場景:vue3,路由,404頁面 問題描述 原因分析: 解決方案: 使用/:pathMatch(.*)或者/:catchAll(.*) 此圖片用來封面引流的,前面不看都行,解決方案,點我點我 vue3項目中404頁面的顯示 Catch all routes (\\\"*\\\") must now be defined using a param with a custom regexp. 當訪問url時,訪問沒有配置的路由時

    2024年02月15日
    瀏覽(23)
  • A component required a bean of type ‘XXX‘ that could not be found 解決辦法

    A component required a bean of type ‘XXX‘ that could not be found 解決辦法

    問題如圖: 字面意思很容易就能看出,該問題是由于SpringBoot 在啟動時,bean掃描失敗,從而導致加載失敗。 可以從如下幾個方面排查: 檢查問題類上是否標注了SpringBoot可以自動掃描的注解,比如缺失了@Service、@Component、@Mapper等,如果是這個原因,直接添加上響應的注解就可

    2023年04月24日
    瀏覽(24)
  • A component required a bean of type ‘...Mapper‘ that could not be found問題解決

    A component required a bean of type ‘...Mapper‘ that could not be found問題解決

    錯誤如圖 第一步 查看配置文件是否正確 第二步 查看標簽是否正確 檢查UserMapper上是否加上@Mapper 補充 第二步還是不行的話查看下POM文件是否導入mybatis-plus-boot-starter 配置mybatis-plus.mapper-locations無提示信息; 此時發(fā)現(xiàn)右上角出現(xiàn)感嘆號,Cannot resolve configuration property ‘mybatis-

    2024年02月16日
    瀏覽(19)
  • Error creating bean with name ‘esUtils‘ defined in file

    Error creating bean with name ‘esUtils‘ defined in file

    ?報錯異常: ?背景: esUtils在common服務中、啟動media服務時候、報這個異常、后排查esUtils在啟動時候發(fā)生異常引起的、在相關bean中加入try{}catch{}即可解決問題

    2024年02月11日
    瀏覽(33)
  • Spring中@Component和@Bean的區(qū)別

    1.用途不同 ????????@Component多用于 標識一個普通的類 ,而@Bean多用于 配置類 里面去 聲明和配置Bean對象 。 2.使用方式不同 ????????@Component是 類級別 的注解,Spring可以 掃描到配置此注解的這些類并把它們注入到SpringIOC容器 中,@Bean是修飾在方法上的,表示此 方法返

    2024年02月16日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包