小编Mic*_*zyk的帖子

需求和需要Java 9中的传递语句有什么区别?

需求需要模块声明中的传递模块语句有什么区别?

例如:

module foo {
    requires java.base;
    requires transitive java.compiler;
}
Run Code Online (Sandbox Code Playgroud)

java requires java-9 java-module module-info

54
推荐指数
3
解决办法
6606
查看次数

通过Maven在SpringBoot中配置活动配置文件

我正在尝试使用Maven 3
在Spring Boot应用程序中设置一个活动的配置文件.在我的pom.xml中,我将默认的活动配置文件和属性spring.profiles.active设置开发:

<profiles>
    <profile>
        <id>development</id>
        <properties>
            <spring.profiles.active>development</spring.profiles.active>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)

但每次运行我的应用程序时,我都会在日志中收到以下消息:

No active profile set, falling back to default profiles: default
Run Code Online (Sandbox Code Playgroud)

并且SpringBoot配置文件设置为default(读取application.properties而不是application-development.properties)

我还应该怎样做才能使用Maven配置文件设置SpringBoot活动配置文件?
任何帮助高度赞赏.

java spring maven spring-boot

32
推荐指数
6
解决办法
7万
查看次数

错误:BUG!源单元'_BuildScript_'中不支持的目标模块的阶段'类生成'中的异常

我正在尝试使用gradle创建一个新的Java 9项目,但是在项目创建之后我从gradle收到错误:

Error:BUG! exception in phase 'class generation' in source unit '_BuildScript_' unsupported Target MODULE
Run Code Online (Sandbox Code Playgroud)

Java版本:9(build 9 + 178)
Gradle版本:4.1-rc-2

根据这篇文章,那些java/gradle版本应该是兼容的.
我怎么解决这个问题?

任何帮助高度赞赏.

java intellij-idea gradle java-9

26
推荐指数
2
解决办法
8196
查看次数

在SpringBoot中读取环境变量

SpringBoot中读取环境变量的最佳方法是什么? 在Java中,我使用以下方法:

String foo = System.getenv("bar");
Run Code Online (Sandbox Code Playgroud)

是否可以使用@Value注释来完成?

java spring environment-variables spring-boot

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

需求和模块声明中需要静态之间的区别是什么

需求需要模块声明中的静态模块语句有什么区别?

例如:

module bar {
    requires java.compiler;
    requires static java.base;
}
Run Code Online (Sandbox Code Playgroud)

java java-9 java-module module-info

18
推荐指数
2
解决办法
1931
查看次数

类文件格式的最终​​变量

文件格式是否为使用变量的最终关键字提供支持?
或者它只是从代码中推断出变量的有效终结性而JIT编译器基于它执行优化?

这里,在类文件格式文档中,他们提到了关于final关键字,但仅限于将其与final块final类一起使用的情况.最终变量
没有任何内容.

java performance jit final bytecode

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

Redis - glob - 类似模式,排除了子字符串

我想为 redis KEYS/SCAN命令定义以下类似 glob 的模式:

prefix:[^excludedPart]:suffix
Run Code Online (Sandbox Code Playgroud)

以便以下内容匹配:

prefix:any:sufix
Run Code Online (Sandbox Code Playgroud)

但这不会:

prefix:excludedPart:sufix
Run Code Online (Sandbox Code Playgroud)

是否有可能创建这样的模式?
是否可以不仅排除一个字符而且排除更长的子字符串?

在这里搜索但找不到答案。

redis

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

Spring Boot集成测试不会读取属性文件

我想创建集成测试,其中Spring Boot将使用@Value注释从.properties文件中读取值.
但每次我运行测试时,我的断言都会失败,因为Spring无法读取值:

org.junit.ComparisonFailure: 
Expected :works!
Actual   :${test}
Run Code Online (Sandbox Code Playgroud)

我的测试:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {WebTests.ConfigurationClass.class, WebTests.ClassToTest.class})
public class WebTests {
    @Configuration
    @ActiveProfiles("test")
    static class ConfigurationClass {}

    @Component
    static class ClassToTest{
        @Value("${test}")
        private String test;
    }

    @Autowired
    private ClassToTest config;

    @Test
    public void testTransferService() {
        Assert.assertEquals(config.test, "works!");
    }
}
Run Code Online (Sandbox Code Playgroud)

src/main/resource包下的application-test.properties包含:

test=works! 
Run Code Online (Sandbox Code Playgroud)

这种行为的原因是什么?我该如何解决?
任何帮助高度赞赏.

java spring junit4 properties-file spring-boot

4
推荐指数
2
解决办法
5700
查看次数

在声明引用时是否加载了类?

创建对类对象的引用是否会导致加载类?加载类时会初始化静态变量,所以考虑到以下代码,答案是否定的,我是对的吗?

    class A{
        static int f(){
            System.out.println("initializing!");
            return 0;
        }
        static final int i = f();
    }
    public class Main {
        public static void main(String[] args) {
            A a;
        }
    }
Run Code Online (Sandbox Code Playgroud)

代码没有输出.

java initialization reference class loading

3
推荐指数
2
解决办法
96
查看次数

如何在没有反射和动态代理的情况下简单地显式调用默认方法?

我正在阅读Java 8中的默认方法,我陷入了一件事 - 有没有办法从接口调用默认方法而不实现它,或者使用动态代理?通过使用一种简单的方法,如下面的方法:

interface DefaultTestInterface{
    default void method1(){
        //default method
    }
}
class ImplementingClass implements DefaultTestInterface{
    public void method1(){
        //default method invocation in implementing method
        DefaultTestInterface.super.method1();
    }
    void method2(){
        //default method invocation in implementing class
        DefaultTestInterface.super.method1();
    }
}
public class Main {
    public static void main(String[] args) {
        //is there any way to simply invoke default method without using proxy and reflection?
    }
}
Run Code Online (Sandbox Code Playgroud)

我读了类似的问题,但第一个只与实现方法中的调用相关联,另外两个与使用反射反射的动态代理连接.

那些解决方案非常复杂,我想知道是否有更简单的方法.我也阅读了那些文章,但我找不到解决问题的方法.我将不胜感激任何帮助.

java methods default java-8

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

RxJava:将 Rx Flowable 拆分为多个流

我想对流执行一些操作,然后将流分成两个流,然后分别处理它们。

显示问题的示例:

Flowable<SuccessfulObject> stream = Flowable.fromArray(
        new SuccessfulObject(true, 0),
        new SuccessfulObject(false, 1),
        new SuccessfulObject(true, 2));

stream = stream.doOnEach(System.out::println);

Flowable<SuccessfulObject> successful = stream.filter(SuccessfulObject::isSuccess);
Flowable<SuccessfulObject> failed = stream.filter(SuccessfulObject::isFail);

successful.doOnEach(successfulObject -> {/*handle success*/}).subscribe();
failed.doOnEach(successfulObject -> {/*handle fail*/}).subscribe();
Run Code Online (Sandbox Code Playgroud)

班级:

class SuccessfulObject {
    private boolean success;
    private int id;

    public SuccessfulObject(boolean success, int id) {
        this.success = success;
        this.id = id;
    }

    public boolean isSuccess() {
        return success;
    }
    public boolean isFail() {
        return !success;
    }

    public void setSuccess(boolean success) {
        this.success = success;
    } …
Run Code Online (Sandbox Code Playgroud)

java stream rx-java

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

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

是否可以将匿名类声明为抽象?

我试图找出,如果有可能创建匿名内部类作为抽象.
我认为,它没有意义,因为我正在尝试创建抽象类的实例,但是来自编译器的消息使我感到困惑:

类'从Test派生的匿名类'必须被声明为abstract或实现抽象方法'方法( )'在测试中

码:

abstract class Test{
    abstract void method();
}
Test o = new Test(){};
Run Code Online (Sandbox Code Playgroud)


如果可以将匿名类声明为抽象类,请告诉我如何执行此操作.
我很乐意回答.

java abstract-class abstract anonymous-class

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