我试图在我的Spring MVC项目中使用Spring的DomainClassConverter功能.(我对Spring MVC和Spring只有非常基本的知识,对于任何天真的问题都提前道歉).
来自API文档:
The DomainClassConverter allows you to use domain types in your Spring MVC controller
method signatures directly, so that you don't have to manually lookup the instances via
the repository: (PS: Example 1.20)
Run Code Online (Sandbox Code Playgroud)
我从上面的理解是,我不必编写finder方法,Spring提供了User对象.所以这些是我做的步骤:
包括以下XML行applicationcontext.xml.
<bean class="org.springframework.data.web.config.SpringDataWebConfiguration" />
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="com.rl.userservice.controller.UserConverter"/>
</list>
</property>
Run Code Online (Sandbox Code Playgroud)
pom.xml根据Spring Data REST文档中包含此依赖项:
Run Code Online (Sandbox Code Playgroud)<dependencies> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-rest-webmvc</artifactId> <version>2.0.0.BUILD-SNAPSHOT</version> </dependency> </dependencies>
我的控制器如下所示:
Run Code Online (Sandbox Code Playgroud)@Controller @RequestMapping(value = "/api/newuser") public class NewUserServiceController { @Autowired …
我是Web服务的新手.我正在尝试编写一个Java独立客户端,它可以从Web服务获得响应.
我尝试搜索SO和谷歌,但现在我更加困惑.以下是我经历过的广泛链接.
我有一个网址:http://api.something.com/remote/wsdl/SomeEncryptedText
我也有一个SOAP请求:
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<AuthUsername>someName@someWhere.com</AuthUsername>
<AuthPassword>mypassword</AuthPassword>
<Sid>12121</Sid>
<DynamicProductFeedsRequest xmlns="http://api.something.com/remote/SomeEncryptedText">
</DynamicProductFeedsRequest>
</soap12:Body>
</soap12:Envelope>
Run Code Online (Sandbox Code Playgroud)
有了这个,我如何编写一个独立的Java客户端,我想在稍后阶段与某些Web应用程序集成?
从前面提到的资源看,有很多软件可供选择:SoapUI,WSDL2Java,Apache Axis,Maven插件,JAX-WS,Apache CXF.
我在上面提到的一个SO答案中使用了http://www.soapclient.com/soaptest.html,我可以在浏览器上获得一个完美的html/xml文件.
现在我很困惑我应该使用哪个软件?由于我在SOA中不了解任何内容,因此链接中的信息很少,我无法彼此关联.
有谁能告诉我编写一个独立的Java客户端的高级步骤,它接收WSDL URL和SOAP请求并给我输出它?
如果我错过了任何信息,请告诉我.
我有一个要求,我在那里读取具有不同类型输入的文件,如下所示:
*JAMBEG,APP=000007,123456
AC,654321,“ABCD12121212121212”,23423423423424234,ABCDD,23423423423424234,2424,XYZ,ABC,TREX,000000002
AC,654321,“ABCD12121212121213”,23423423423424234,ABCDD,23423423423424234,2424,XYZ,ABC, TREX,000000002
...
AC,654321,“ABCD12121212121214”,23423423423424234,ABCDD,23423423423424234,2424,XYZ,ABC, TREX,000000002
*JAMEND,APP=000007,123456
EOF
Run Code Online (Sandbox Code Playgroud)
我只需要Header行和后面的记录,忽略以TREX开头的行,*JAMEND,EOF.
以下是我的行映射器:
public LineMapper<Customer> lineMapper(){
DelimitedLineTokenizer lineTokenizerHeader = new DelimitedLineTokenizer();
lineTokenizerHeader.setNames(new String[]{"association","companyNumber","fileDate"});
lineTokenizerHeader.setIncludedFields(new int[]{0,1,2});
lineTokenizerHeader.setStrict(false);
DelimitedLineTokenizer lineTokenizerBody = new DelimitedLineTokenizer();
lineTokenizerBody.setNames(new String[]{"type","acNumber","orderNumber"});
lineTokenizerBody.setIncludedFields(new int[]{0,1,2});
lineTokenizerBody.setStrict(false);
HashMap<String, DelimitedLineTokenizer> tokenizers = new HashMap<String, DelimitedLineTokenizer>();
tokenizers.put("*BEG*", lineTokenizerHeader);
tokenizers.put("AC*", lineTokenizerBody);
BeanWrapperFieldSetMapper<Customer> beanWrapperFieldSetMapper = new BeanWrapperFieldSetMapper<Customer>();
beanWrapperFieldSetMapper.setTargetType(Customer.class);
beanWrapperFieldSetMapper.setStrict(false);
HashMap<String, BeanWrapperFieldSetMapper<Customer>> fieldSetMappers = new HashMap<String, BeanWrapperFieldSetMapper<Customer>>();
fieldSetMappers.put("*BEG*", beanWrapperFieldSetMapper);
fieldSetMappers.put("AC*", beanWrapperFieldSetMapper);
PatternMatchingCompositeLineMapper patternMatchingCompositeLineMapper = new PatternMatchingCompositeLineMapper();
patternMatchingCompositeLineMapper.setTokenizers(tokenizers);
patternMatchingCompositeLineMapper.setFieldSetMappers(fieldSetMappers);
return patternMatchingCompositeLineMapper;
}
Run Code Online (Sandbox Code Playgroud)
这是我明显的错误,我没有TREX,*JAMEND,EOF模式的任何映射.因此它抛出以下异常:
2014年6月16日16:49:34746 [主要] DEBUG org.springframework.batch.core.step.item.FaultTolerantChunkProvider - …
假设我使用Hibernate作为与MySQL数据库通信的Java Web应用程序,Hibernate使用的驱动程序类型是什么.
我试图从类的方法设置一个值,并尝试在另一个方法中获取它.示例代码如下.我认为以下类型的set/get在Java类中有效.谷歌搜索但仍无法找到相关的解决方案.
我搜索了"如何在PHP中的函数之间共享数据",并找到了如何在静态方法中调用类的成员变量?,但这没有回答我的问题.
<?php
class MyClass
{
public $cons;
function showConstant() {
$this->setConstant(100); /* assign value to variable here */
$this->showConstantGetter();
}
/* setter */
function setConstant($aCons) {
$cons = $aCons;
}
/* getter */
function getConstant() {
return $cons;
}
function showConstantGetter() {
echo "<br>getting const : ".$this->getConstant(); /* use the variable's value in this method here */
}
}
$classname = "MyClass";
$class = new MyClass();
$class->showConstant();
?>
Run Code Online (Sandbox Code Playgroud) java ×3
annotations ×1
class ×1
data-binding ×1
function ×1
hibernate ×1
jdbc ×1
mysql ×1
php ×1
soap ×1
spring ×1
spring-batch ×1
spring-data ×1
spring-mvc ×1
variables ×1
web-services ×1
wsdl ×1