Spring boot-将服务注入doFiler

2024-05-01

我正在尝试将身份验证服务注入Filter -

@Autowired
AuthRequestService authService;

并用在doFiler方法 -

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
        throws IOException, ServletException {
    HttpServletRequest req = (HttpServletRequest) request;
    System.out.println("SAPServiceFilter: "+ req.getRequestURI());
    //TODO - create auth sender
    authService.isAuthnticate((HttpServletRequest)request); //null
    chain.doFilter(request, response);
}

我的过滤器类在我的子包中@SpringBootApplication类并注释为@service -

@Service
public class AuthRequestService {

    @PostConstruct
    public void init() {
        System.out.println("AuthRequestService @PostConstruct");
    }

    public boolean isAuthnticate(HttpServletRequest request) {
        System.out.println("isAuthnticate");
        return true;
    }
}

当使用 - 列出我所有的豆时,该类也会出现

for (String name : applicationContext.getBeanDefinitionNames()) {
    System.out.println(name);
}

还是在调试的时候authService为 null,过滤器注册的最后一件事FilterRegistrationBean -

FilterRegistrationBean<SAPServiceFilter> filterRegBean = new FilterRegistrationBean<>();
filterRegBean.setFilter(new SAPServiceFilter());

您可以使用构造函数注入。假设您的过滤器注册 bean 位于组件中并且可以访问该服务,您可以在那里自动装配它并通过构造函数传递它

@Autowired  
AuthRequestService authRequestService;

[...]

FilterRegistrationBean<SAPServiceFilter> filterRegBean = new FilterRegistrationBean<>();
filterRegBean.setFilter(new SAPServiceFilter(authRequestService));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring boot-将服务注入doFiler 的相关文章

  • Java:扩展类并实现具有相同方法的接口

    可能无法完成以下操作 我收到编译错误 继承的方法 A doSomthing int 无法隐藏 B 中的公共抽象方法 public class A int doSomthing int x return x public interface
  • TreeMap 删除所有大于某个键的键

    在项目中 我需要删除键值大于某个键的所有对象 键类型为Date 如果重要的话 据我所知TreeMapJava中实现的是红黑树 它是一种二叉搜索树 所以我应该得到O n 删除子树时 但除了制作尾部视图并一一删除之外 我找不到任何方法可以做到这
  • Android:文本淡入和淡出

    我已阅读此 stackoverflow 问题和答案 并尝试实现文本淡入和淡出 Android中如何让文字淡入淡出 https stackoverflow com questions 8627211 how to make text fade
  • 将巨大的模式编译成Java

    有两个主要工具提供了将 XSD 模式编译为 Java 的方法 xmlbeans 和 JAXB 问题是 XSD 模式确实很大 30MB 的 XML 文件 大部分模式在我的项目中没有使用 所以我可以注释掉大部分代码 但这不是一个好的解决方案 目
  • Runtime.exec 处理包含多个空格的参数

    我怎样才能进行以下运行 public class ExecTest public static void main String args try Notice the multiple spaces in the argument Str
  • 在 Java 中如何找出哪个对象打开了文件?

    我需要找出答案哪个对象在我的 Java 应用程序中打开了一个文件 这是为了调试 因此欢迎使用工具或实用程序 如果发现哪个对象太具体了 这class也会很有帮助 这可能很棘手 您可以从使用分析器开始 例如VisualVM http visua
  • Spring Data JPA,对多对多实体的一个属性的更改错误地显示在共享它的所有其他实体上

    当我更改实体的一个属性时 使用该实体的每个其他实体也会以某种方式更改它 我有三个实体 如下所示 学生和课程之间需要有多对多的关系 课程需要和课程讲座有一对多的关系 当我通过 Transactional 更改属于特定学生的课程或课程讲座时st
  • 如何在字段值无效的情况下更改 Struts2 验证错误消息?

    我在 Web 表单上使用 Struts2 验证 如果字段假设为整数或日期 则
  • 如何仅从 Firestore 获取最新更新的数据?

    在 Firestore 上发现任何更改时始终获取整个文档 如何只获取最近更新的数据 这是我的数据 我需要在第一次加载时在聊天中按对象顺序 例如 2018 09 17 30 40 msg和sendby 并且如果数据更新则仅获取新的msg和se
  • 将人类日期(当地时间 GMT)转​​换为日期

    我正在服务器上工作 服务器正在向我发送 GMT 本地日期的日期 例如Fri Jun 22 09 29 29 NPT 2018在字符串格式上 我将其转换为日期 如下所示 SimpleDateFormat simpleDateFormat ne
  • 从jar中获取资源

    我有包含文件的 jar myJar res endingRule txt myJar wordcalculator merger Marge class 在 Marge java 中我有代码 private static final Str
  • 如何在JPanel中设置背景图片

    你好 我使用 JPanel 作为我的框架的容器 然后我真的想在我的面板中使用背景图片 我真的需要帮助 这是我到目前为止的代码 这是更新 请检查这里是我的代码 import java awt import javax swing import
  • 在 Java 中获取并存储子进程的输出

    我正在做一些需要我开始子处理 命令提示符 并在其上执行一些命令的事情 我需要从子进程获取输出并将其存储在文件或字符串中 这是我到目前为止所做的 但它不起作用 public static void main String args try R
  • JDBC 时间戳和日期 GMT 问题

    我有一个 JDBC 日期列 如果我使用 getDate 则会得到 date 仅部分2009 年 10 月 2 日但如果我使用 getTimestamp 我会得到完整的 date 2009 年 10 月 2 日 13 56 78 890 这正
  • 不可变的最终变量应该始终是静态的吗? [复制]

    这个问题在这里已经有答案了 在java中 如果一个变量是不可变的并且是final的 那么它应该是一个静态类变量吗 我问这个问题是因为每次类的实例使用它时创建一个新对象似乎很浪费 因为无论如何它总是相同的 Example 每次调用方法时都会创
  • 如何解决 openapi-generator-maven-plugin 使用已弃用的类?

    我尝试将 openapi generator maven plugin 与 Spring Boot 2 4 3 一起使用 根据互联网上的一些示例 按照 openapi yaml 中制定的规范生成代码 但没有示例提供包含所需的完整依赖项 该插
  • Spring Boot中ServletContext初始化后如何创建bean?

    我有一个 bean 它实现 ServletContextAware 和 BeanFactoryPostProcessor 接口 我需要在 ServletContext 完成初始化后将此 bean 注册到 applicationContext
  • java XMLSerializer 避免复杂的空元素

    我有这个代码 DocumentBuilderFactory factory DocumentBuilderFactory newInstance DocumentBuilder builder factory newDocumentBuil
  • partitioningBy 必须生成一个包含 true 和 false 条目的映射吗?

    The 分区依据 https docs oracle com javase 8 docs api java util stream Collectors html partitioningBy java util function Pred
  • Java 正则表达式中的逻辑 AND

    是否可以在 Java Regex 中实现逻辑 AND 如果答案是肯定的 那么如何实现呢 正则表达式中的逻辑 AND 由一系列堆叠的先行断言组成 例如 foo bar glarch 将匹配包含所有三个 foo bar 和 glarch 的任何

随机推荐

  • 3D 圆柱体表面的等高线图

    因为你的帮助很大 https stackoverflow com questions 47333811 how do i create a surface plot with matplotlib of a closed loop revo
  • python随机字典键,并访问它[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 import random Cards Spade 2 3 4 5 6 7 8 9 10 Jack Queen King
  • 为什么 PostgreSQL json_agg() 函数不返回空数组?

    我从 PostgreSQL 请求返 回一个 JSON 数组json agg功能 然而 当没有找到行时 json agg返回空字符串而不是空 JSON 数组 如果我理解的话 方括号是强制性的json org http json org 例如
  • Uint16Array 到 Uint8Array

    我有一个基本问题 假设我有一个 Uint16Array 里面有数字 4 data 16 new Uint16Array 4 现在我有一个长度 1 和 byteLength 2 我如何将其转换为 Uint8Array 我不想创建新视图 dat
  • 检测递归查询中的循环

    我的 PostgreSQL 数据库中有一个有向图 节点和循环之间可以有多个路径 create table edges from int to int insert into edges values 0 1 1 2 2 3 3 4 1 3
  • Python 检查 __init__ 参数

    在过去的几个小时里我一直在试图解决这个问题 但我即将放弃 如何确保在 python 中只有匹配的特定条件才会创建对象 例如 假设我想创建一个对象 Hand 并且仅当初始化程序中有足够的 Fingers 时才初始化 Hand 请以此作为类比
  • C# - 具有 new() 约束的泛型如何生成机器代码?

    public T Foo
  • 如何访问docker镜像?

    我试图在不运行的情况下访问 docker 映像 我只想知道它包含什么内容以进行验证 我无法 ssh 进入容器 因为它会在一秒钟内结束 所以我需要探索图像而不是容器 或者 在完成之前是否可以访问容器 明白了 命令如下 docker run i
  • REST Web 服务 - 动态查询参数

    我需要将动态查询参数发送到 REST Web 服务 GET 方法 如下所示 主机 端口 应用程序 field1 XXX value1 VVV field2 XXX value2 XXX 消费者可以发送参数最多为字段和值 每个字段都映射到值
  • 在 Spring MVC 3.1 中使用 Flash 范围(和 RedirectAttributes )而不使用

    在我的 Spring MVC 3 1 应用程序中 我认为我不能使用 为什么 因为我想应用一个拦截器all除
  • C# 中的线程和静态方法

    下面以一个无意义的扩展方法为例 public static class MyExtensions public static int MyExtensionMethod this MyType e int x 1 x 2 return x
  • 是否有任何接受 unicode 的 C/C++ system() 函数?

    问题 在 C C 中 是否有接受 Unicode 的系统函数 原因见下 include
  • 如何忽略网络爬虫中的文件类型?

    我正在编写一个网络爬虫 并且想要忽略链接到二进制文件的 URL exclude w flv swf png jpg gif asx zip rar tar 7z gz jar js css dtd xsd ico raw mp3 mp4 w
  • 一个游戏中心帐户可容纳两个 iOS 应用程序

    有人知道我需要做什么才能让我的免费版本和付费版本提供相同的游戏中心排行榜吗 恐怕这是不可能的 因为游戏中心使用应用程序的 捆绑包标识符 例如 com myCompany myCoolGame 来标识游戏 并且两个应用程序不能具有相同的标识符
  • Thymeleaf:用
    替换换行符

    我有一个字段
  • Java hibernate/jpa 如何创建自相关的动态通用实体

    我想使用 JPA hibernate 创建动态和通用的超类 它将针对每个层次结构模型进行扩展 例如 角色 页面 目录 部门 权限 树 我想使用递归和java反射来创建这个对象动态树 它应该看起来像这样 该实体应该引用自身实体 我希望它是完全
  • 如何在 readr/tidyverse 中设置编码/文件编码选项? [复制]

    这个问题在这里已经有答案了 我有一个旧光谱仪的文本文件 它以 UTF 16LE 编码 我用readr guess encoding 功能 我设法在 base r 中读取它 spectra gr2 lt read csv some path
  • 自动递增 SQL 值

    在我现在工作的一家公司的全球 DBA 的无限智慧中 他创建了一个表 该表采用 int 作为 ID 字段 但不会自动递增数字 我正在传递来自 Net 的表值参数 因为它在任何时间都会传递大约 100 行或更多行数据 并且我不想终止应用程序 破
  • 如何确定文本何时被选择 [Android [EditText]]

    是否可以确定何时选择文本 何时不选择文本 我在谷歌上搜索 然后我find onSelectionChanged 方法或setOnLongClickListener 用于确定用户何时longClick是 editText 所以当他做出选择时
  • Spring boot-将服务注入doFiler

    我正在尝试将身份验证服务注入Filter Autowired AuthRequestService authService 并用在doFiler方法 Override public void doFilter ServletRequest