โครงการนี้เป็นโครงการ Maven ตามกรอบ Springboot
วันนี้เมื่อจัดการตรรกะการสกัดกั้นใน interceptor คุณต้องโทรหาวิธีอื่นโดยใช้คำอธิบายประกอบและการอ่านพารามิเตอร์จากไฟล์การกำหนดค่า ดังนั้นฉันจึงใช้คำอธิบายประกอบต่อไปนี้:
@reference coreredisservice redisservice; @Value ("$ {channel}") ช่องสตริงส่วนตัว; @Value ("$ {allowmethod}") สตริงส่วนตัวอนุญาตให้ใช้งาน; หนึ่งคือการอ้างอิงไปยังอินเทอร์เฟซอีกสองอีกสองตัวคือการรับพารามิเตอร์ในไฟล์การกำหนดค่า
อย่างไรก็ตามในระหว่างกระบวนการดีบักฉันพบว่าไม่มีการฉีดทั้งสามตัวและสถานการณ์ที่แสดงในรูปด้านล่างเกิดขึ้น:
คุณจะเห็นว่าทั้งสามค่าเป็นโมฆะ
จากนั้นฉันดูที่การกำหนดค่าของโครงการของฉันเพื่อตรวจสอบว่าตำแหน่งของ Interceptor อยู่ในขอบเขตของคำอธิบายประกอบหรือไม่ ฉันพบว่าไม่มีปัญหา ฉันพบปัญหาเกี่ยวกับ Baidu และพบปัญหา: เวลาที่โหลด interceptor อยู่ก่อน SpringContext ดังนั้นมันจึงเป็นโมฆะตามธรรมชาติที่ถูกฉีดเข้าไปในตัวดัก
ตามการแก้ปัญหาการดักจับจะถูกฉีดเข้าไปในคลาสที่กำหนดค่าห่วงโซ่การดักจับเป็นครั้งแรก รหัสมีดังนี้:
แพ็คเกจ com. ***; นำเข้า org.springframework.context.annotation.bean; นำเข้า org.springframework.context.annotation.configuration; นำเข้า org.springframework.web.servlet.config.annotation.interceptorregistry; org.springframework.web.servlet.config.annotation.webmvcconfigureradapter;/*** configurationInterceptorchain* สร้างโดย Yefuliang เมื่อปี 2017/10/23 */ @configurationPublic คลาส bgqwebappconfigurer ขยาย webmvcconfigureradapter {@bean สาธารณะ bgqcommoninterceptorl bgqcommoninterceptorl () {ส่งคืน bgqcommoninterceptorl ใหม่ (); } โมฆะสาธารณะ addInterceptors (InterceptorRegistry Registry) {// ตัวดักหลายตัวสร้างห่วงโซ่ interceptor // addPathPatterns ใช้เพื่อเพิ่มกฎ interceptor // excludepathpatterns registry intercepte registry.addinterceptor (bgqcommoninterceptorl () super.addinterceptors (รีจิสทรี); - โปรดทราบว่าการฉีดเป็นคลาส interceptor ไม่ใช่คลาสที่คุณต้องการฉีดเข้าไปในตัวดักและจากนั้นรีจิสทรีของห่วงโซ่ interceptor.addinterceptor (bgqcommoninterceptorl ()). addPathPatterns ("/**");
คุณไม่จำเป็นต้องเปลี่ยนพารามิเตอร์แรกใหม่อีกครั้ง
หลังจากแก้ไขการแก้ไขแล้วให้ดีบัก:
อย่างที่คุณเห็นทั้งหมดฉีดเข้าไปและปัญหาได้รับการแก้ไข
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น