小编one*_*rld的帖子

在Spring MVC中使用Spring的DomainClassConverter的问题

我试图在我的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文档中包含此依赖项:

<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 …
Run Code Online (Sandbox Code Playgroud)

data-binding spring spring-mvc spring-data spring-data-jpa

8
推荐指数
1
解决办法
3957
查看次数

独立的java webservice客户端

我是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请求并给我输出它?

如果我错过了任何信息,请告诉我.

java soap wsdl web-services

7
推荐指数
1
解决办法
7227
查看次数

Spring Batch:忽略与指定模式不匹配的任何行

我有一个要求,我在那里读取具有不同类型输入的文件,如下所示:

*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 - …

java annotations spring-batch

4
推荐指数
1
解决办法
1万
查看次数

Hibernate中使用的JDBC驱动程序类型

假设我使用Hibernate作为与MySQL数据库通信的Java Web应用程序,Hibernate使用的驱动程序类型是什么.

java mysql hibernate jdbc

2
推荐指数
1
解决办法
9956
查看次数

我应该如何在PHP类中的不同方法之间共享/传递变量?

我试图从类的方法设置一个值,并尝试在另一个方法中获取它.示例代码如下.我认为以下类型的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)

php variables class function

1
推荐指数
1
解决办法
2331
查看次数