在我的具有单个Controller类的Spring MVC应用程序中,
@Controller
public class MyController {
@RequestMapping(method = RequestMethod.POST, value = "/*.htm")
public myMethod{@RequestBody final MyRequestBean myRequest}
}
我的输入采用JSON形式,我使用Jackson将其转换为Java对象。现在,基于Java对象中的属性,我想发送到适当的服务类。如果是,
myRequest.value == "1" -> FirstService
myRequest.value == "2" -> SecondService
所有这些Service类都将实现一个基本接口。我不想在我的Java代码中执行此实例化。如何将其移至配置文件。如何根据请求值动态注入这些对象。请注意,正在使用注释。我是Spring的新手,请告知
编辑:
在我的dispatcher.xml中 包括我的解决方案 ,
`<util:map id="myMap">
<entry key="service1" value="com.service.MyService1" />
<entry key="service2" value="com.service.MyService1" />
</util:map>`
在我的控制器中
@Resource private Map myMap;
在控制器内部的方法中
MyService myService = (MyService) Class.forName((String)myMap.get(myRequest.getValue())).newInstance(); System.out.println("My value" + myService.doService());
可以看出,已经使用Java反射从XML返回的字符串中获取实例。这是正确的方法吗?
我有一把刀: 问题是,当我试图使用DAO进行加载调用时,使用DynamoDBMapper以field d1作为哈希键来获取项目,它会抛出一个DynamoDBExc0019,说:为公共DAO. getField2()找到了空键,但实际上表的值对应于field d2。问题,这是因为Lombok注释而不是手动突变代码,还是一般来说我们一起使用Lombok和DynamoDBAnnotions?
我正在尝试测试一个用Declaratice Services注释()注释的OSGi服务。我已经根据AEM多项目示例生成了我的项目。 每当我在IntelliJ中运行此测试时,OSGi Mock都会抱怨测试类中缺少SCR元数据。 这是否意味着我只能测试带有ApacheFelix附带的旧SCR注释的类?OSGi模拟的文档表明2.0版支持声明性服务注释。0及以上。我使用的版本符合此标准。
问题内容: 之间有什么区别? 在整个类中添加“ @Transactional”注释 为每个方法添加“ @Transactional”注释? 使用spring和Hibernate吗? 问题答案: 基本上,如果您用所有方法注释该类,则将是事务性的。如果您不这样做,则可以仅将其标注为所需的方法。此外,你可以为每个方法指定不同的属性,如,,,…
我正在将ApacheFelixSCR注释迁移到OSGI声明性服务[AEM]。在迁移过程中,我无法在DS中找到基数的精确替换。 现有的SCR实施: 现在它在OSGi声明性服务中迁移如下 在DS注释实现中,我必须映射@Property中存在的参数基数。请推荐我
我正在AWS上运行CoreNLP专用服务器,并试图从Ruby发出请求。服务器似乎正确地接收了请求,但问题是服务器似乎忽略了input annotators列表,并且总是默认为所有annotators。我生成请求的Ruby代码如下所示: 在服务器上的nohup.out日志中,我看到以下内容: 当我在命令行上使用wget运行测试查询时,它似乎工作得很好。 任何关于为什么会发生这种情况的帮助都将被接受,
我看过一些教程,它们使用不同的语法来完成相同的任务。一旦通过控制器收到创建学生对象的POST请求,服务层就会使用这两种方法注入存储库。 方法1: 以及方法2: 我读到它与构造函数和字段注入有关,但我真的不明白这种语法是如何解决这种差异的。有什么解释或资源让我更好地理解吗?提前谢谢你!