Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 弹簧注入类_Java_Spring - Fatal编程技术网

Java 弹簧注入类

Java 弹簧注入类,java,spring,Java,Spring,我刚开始使用Spring,我刚刚加入了一个开发团队,该团队正在利用Spring开发我们正在开发的产品。我开始了解国际奥委会。然而,我在一个特别的问题上感到困惑。我一直在寻找答案,但什么也找不到 我正在查看的类上设置了@Controller注释。其中一个方法具有@RequestMapping注释。此特定方法的方法签名包含我公司的一个专有类的参数。这个专有类上没有Spring的任何注释,也没有在Spring配置文件中列出 因此,我的问题是:当没有任何东西帮助框架识别参数时,如何注入该参数? 我怀疑它

我刚开始使用Spring,我刚刚加入了一个开发团队,该团队正在利用Spring开发我们正在开发的产品。我开始了解国际奥委会。然而,我在一个特别的问题上感到困惑。我一直在寻找答案,但什么也找不到

我正在查看的类上设置了
@Controller
注释。其中一个方法具有
@RequestMapping
注释。此特定方法的方法签名包含我公司的一个专有类的参数。这个专有类上没有Spring的任何注释,也没有在Spring配置文件中列出

因此,我的问题是:当没有任何东西帮助框架识别参数时,如何注入该参数?

我怀疑它能够做到这一点,因为在上一个事务中,专有类通过
ModelAndView.addObject()
添加到模型中,但我希望有人能够确认或拒绝

具体情况如下:

  • 用户请求登录页面
  • addObject(proprietaryClass)
  • 用户显示登录页面
  • 用户点击按钮登录
  • 方法在方法签名中使用专有类调用
    任何帮助都会很好。

    在您的bean配置中,您会找到一个转换服务bean。如果其他开发人员很好,他们会把它命名为“ConverterFactory”,它可能会扩展
    org.springframework.format.support.FormattingConversionServiceFactoryBean
    。您还可以为
    org.springframework.format.FormatterRegistry
    grep代码库


    这在。

    弹簧是智能的。。。真聪明。它可以查看请求参数的名称,并通过字段名将它们映射到POJO。例如,如果用户有“first”和“last”字段,则可以传入user.first=Joe&user.last=Blow,它将尝试设置用户对象的“first”和“last”属性。具体看一下名为绑定域对象的部分


    另一种选择是,他们已经实现了一个转换器或转换器工厂。在我的项目中,我实现了一个通用的ConverterFactory,它处理我的任何数据库实体,花费很长时间,并通过id查找将其转换为物化实体。

    是用
    @ModelAttribute
    注释的特定方法参数?否,方法参数上没有任何注释。我只是搜索了一下,结果空手而归。我正在研究转换器的可能性。看起来在Spring配置文件中可能有一些对转换器的引用。好的。。。在更深入地研究这一点之后,我想我理解了正在发生的事情。如果我错了,请纠正我。我在登录页面中看到的是一个表单。我认为正在发生的是Spring自动将表单值映射到类。而且,这样做不需要开发人员在Spring配置文件中指定它,也不需要使用注释。这就是Spring中表单的工作方式吗?第一个建议是否要求Spring了解用户类?我正在研究转换器的可能性。在Spring配置文件中似乎有一些对转换器的引用。第一个建议不要求Spring知道用户类。它只是使用反射。好的。。。在更深入地研究这一点之后,我想我理解了正在发生的事情。如果我错了,请纠正我。就像你说的,春天真的很聪明,但我不知道它有多聪明。我看到的是登录页面是一个表单。我认为正在发生的是Spring自动将表单值映射到类。而且,这样做不需要开发人员在Spring配置文件中指定它,也不需要使用注释。这就是Spring中表单的工作方式吗?Spring接受约定而不是配置。约定是,如果表单输入名称与javapojo字段名称匹配(通过反射获得),那么它可以映射它,而无需进一步配置。