小编px0*_*x06的帖子

在java中构建URL

试着建立http://IP:4567/foldername/1234?abc=xyz.我不太了解它,但我在下面写了从谷歌搜索的代码:

import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;

public class MyUrlConstruct {

    public static void main(String a[]){

        try {
            String protocol = "http";
            String host = "IP";
            int port = 4567;
            String path = "foldername/1234";
            URL url = new URL (protocol, host, port, path);
            System.out.println(url.toString()+"?");
        } catch (MalformedURLException ex) {
            ex.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我能够建立URL http://IP:port/foldername/1234?.我被困在查询部分.请帮助我前进.

java url build

29
推荐指数
5
解决办法
6万
查看次数

在Spring Boot测试之前初始化数据库

我正在使用JUnit来测试我的应用程序,只要数据库在测试之前已经初始化(使用gradle bootRun作为web-app运行),一切正常.但是,如果数据库为空,则应用程序似乎在测试之前不会初始化任何模型或实体.有没有办法我应该这样做?我假设ApplicationRunner该类将在测试之前运行并且使实体初始化.有没有办法做到这一点,还是我使用了错误的方法?

这就是我的application.properties文件的样子:

server.port=8090
server.ssl.key-store=classpath:keystore.jks
server.ssl.key-store-password=123456
server.ssl.key-password 123456
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.jpa.hibernate.ddl-auto=create
spring.jpa.hibernate.naming-strategy:org.hibernate.cfg.ImprovedNamingStrategy
application.logger.org.springframework=INFO
Run Code Online (Sandbox Code Playgroud)

我的数据库/src/main/java/application/persistence/DbConfig.java使用DriverManagerDataSource连接存储.我已经设置ApplicationRunner好在启动时向db添加几行.

编辑:

我还应该补充一点,这些是我在JUnit测试文件中使用的注释:

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(classes={
    AdeyTrackApplication.class, 
    SecurityConfig.class, 
    WebConfig.class,
    AuthorizationController.class
    })
Run Code Online (Sandbox Code Playgroud)

java mysql spring hibernate spring-boot

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

Visual Studio 2017 - 磁盘空间不足

我正在尝试使用Xamarin安装Visual Studio 2017,这需要大约30GB的空间,我在VS2017当前安装的目录中有这个数量.我正在尝试基本上修改安装以添加Xamarin,但是它说我没有足够的磁盘空间,因为尽管下载目录在我的D驱动器中,它仍然在尝试将组件安装到我的C驱动器.我还没有在网上找到关于这个问题的任何内容.

Visual studio安装程序:

在此输入图像描述

文件浏览器(通知C驱动器少于可用的所需数量)

在此输入图像描述

install visual-studio xamarin visual-studio-2017

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

随机执行一个函数

考虑以下功能:

def a():
    print "a"
def b():
    print "b"
Run Code Online (Sandbox Code Playgroud)

有没有办法选择一个随机运行的函数?我试过用:

random.choice([a(),b()])
Run Code Online (Sandbox Code Playgroud)

但它返回两个函数,我只想让它返回一个函数.

python random function

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

如何确定接口在 Java 中是否有效?

众所周知,Java 8 向 Java 开发人员引入了函数式编程。

ComparatorRunnableCallable等接口是功能性的。

从定义如下:功能接口是只有一个抽象方法的接口

但是例如同一个接口Comparator有多个抽象方法:

int compare(T o1, T o2);

boolean equals(Object obj); // inherited from Object class

// and a lot of concrete methods more
Run Code Online (Sandbox Code Playgroud)

那么,是否有任何严格的规则来确定接口是否是函数式的,以便它可以用作 lambda 表达式或方法引用的赋值目标?

java lambda java-8

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

AWS Lambda 是否会在每次调用时重置内存?

我目前正在将 AWS Lambda 与 Java 8 结合使用。据我所知,AWS Lambda 被认为是一个独立的工作单元,即每个进程都可以独立完成。在这种情况下,当容器被重用时,JVM 或 Lambda 容器本身是否具有下一次执行可以使用的持久内存?每次调用时 Lambda 内存都会重置吗?我似乎无法在文档中找到这个问题的答案。

amazon-web-services aws-lambda

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

如何使用别名获取KMS KeyId?

我正在使用 awssdk v2: https: //sdk.amazonaws.com/java/api/latest/

我想使用客户管理的 KMS 密钥将对象放入 S3 中进行静态加密,我使用 sse-c 来实现此目的。然而,它似乎总是默认使用 AWS 托管密钥,而不是客户托管密钥。

以下是我的代码:

PutObjectRequest putObjectRequest =
    PutObjectRequest.builder()
        .bucket(bucket)
        .key(key)
        .serverSideEncryption(ServerSideEncryption.AWS_KMS)
        .ssekmsKeyId(this.s3KmsKeyId) // my key alias
        .build();

s3Client.putObject(putObjectRequest, RequestBody.fromString(data)); // data = some string value
Run Code Online (Sandbox Code Playgroud)

我使用PutObjectRequest来配置我的请求,并使用 S3Client将其发送到 S3。

由于按键设置为旋转,因此我无法使用 arn 或其keyId本身。我似乎也找不到如何使用此 sdk 实现此目的的示例。

java amazon-s3 amazon-web-services amazon-kms

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

如果未进行任何更改,DynamoDb 是否会更新任何内容?

如果没有进行任何更改,DynamoDb 是否会更新记录UpdateItemRequest

例如,如果表包含如下记录:

{
  "id": "1",
  "name": "alice"
}
Run Code Online (Sandbox Code Playgroud)

更新请求如下:

String expression = "set #n = :n"
HashMap<String, String> expressionAttributeNames = new HashMap<>();
expressionAttributeNames.put("#n", "name");
HashMap<String, AttributeValue> expressionAttributeValues = new HashMap<>();
expressionAttributeValues.put(":n", AttributeValue.builder().s("alice").build());
UpdateItemRequest updateItemRequest =
        UpdateItemRequest.builder()
            .tableName(tableName)
            .key(key)
            .updateExpression(expression)
            .expressionAttributeNames(expressionAttributeNames)
            .expressionAttributeValues(expressionAttributeValues)
            .build();
dynamoDbClient.updateItem(updateItemRequest);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,名字仍然是“alice”,没有任何改变。DynamoDb 是否将此视为更新还是将其视为无?我这样问是因为我想知道此请求是否会触发 DynamoDb 流。

java amazon-web-services amazon-dynamodb

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