小编Per*_*uss的帖子

Spring重写bean配置设置其"Primary"

使用Spring 3.XX我有2个使用@Primary注释的服务,我创建了另一个配置类,我想使用其中一个服务的"自定义"版本.

出于某种原因,我在调试配置类时忽略了我看到它获得了正确的依赖关系,但是当我想使用它时,它设置了错误的依赖关系.

我发现使用代码更容易解​​释,这是一个例子:

界面Foo:

public interface Foo {
    String getMessage();
}
Run Code Online (Sandbox Code Playgroud)

使用硬编码的默认消息的主要实现:

@Primary
@Service("FooImpl")
public class FooImpl implements Foo {

    private String message = "fooDefaultMessage";

    @Override
    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}
Run Code Online (Sandbox Code Playgroud)

栏界面:

public interface Bar {

    void doBar();
}
Run Code Online (Sandbox Code Playgroud)

栏默认实施:

@Primary
@Service("BarImpl")
public class BarImpl implements Bar {

    private Foo foo;

    @Override
    public void doBar() {
        System.out.println(foo.getMessage());
    }

    public Foo getFoo() {
        return foo;
    }

    @Autowired
    public …
Run Code Online (Sandbox Code Playgroud)

java spring spring-bean

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

当服务器名称包含反斜杠 (localhost\TESTDATA) 时使用 JDBC

感谢您抽时间阅读。我完全被什么可能是简单的事情难住了。我正在尝试连接到我的 SQL 数据库,以下内容往往有效:

String url = "jdbc:jtds:sqlserver://10.0.100.200;DatabaseName=master;user=sa;password=";
Run Code Online (Sandbox Code Playgroud)

但是,当我的名字包含反斜杠时,例如“localhost\TESTDATA 我似乎无法让它工作,我得到

“java.sql.SQLException:未知的服务器主机名'localhost\TESTDATA'。”

当我使用以下内容时:

String url = "jdbc:jtds:sqlserver://localhost\\TESTDATA;DatabaseName=master;user=sa;password=";
Run Code Online (Sandbox Code Playgroud)

谢谢

java sql-server jtds jdbc

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

@Pattern 验证空白字段

我正在使用验证注释来验证电子邮件字段,这里的电子邮件字段不是强制性的,当我点击提交时,它正在验证并在字段为空时抛出错误消息,

以下是注释:

@Pattern(regexp = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$", 
            message = "registration.label.useremailformat.invalidformat")
@Size(min = 6, max = 20, message = "registration.label.useremail.length")
@SafeHtml
private String userEmailId;
Run Code Online (Sandbox Code Playgroud)

当电子邮件字段为空时,如何跳过 @Pattern 验证并仅在给定值时进行验证?任何帮助将不胜感激。

java regex bean-validation

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

如何配置 Gradle 进行代码生成,以便 IntelliJ 识别生成的 java 源?

我正在将一个遗留项目迁移到 Gradle。构建过程的一个步骤是为专有协议生成 java 源代码。不幸的是,当将项目导入 IntelliJ 时,生成的源代码无法识别,因此该项目无法使用 IntelliJ 构建。

我有以下构建脚本(删除了不相关的部分):

apply plugin: "base"
apply plugin: "java"

task generate {
    description "Generates java code"
    inputs.files(fileTree("src/codegen/"))
    outputs.dir("${buildDir}/generated-src/")
    // ...
    // codegen
    // ...
}

compileJava {
    source(generate.outputs)
}
Run Code Online (Sandbox Code Playgroud)

如果我添加以下内容,IntelliJ 会将生成的源添加为源,但无法将其识别为生成的

sourceSets {
    main {
        java {
            srcDir "${buildDir}/generated-src/"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法让 IntelliJ 将生成的源识别为生成的源,以便显示阻止编辑这些类的正常警告?

java code-generation intellij-idea gradle

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

Spring Boot Starter Data JPA的唯一约束检查​​失败太晚了

我对这个独特的约束功能感到非常惊讶.我正在使用H2数据库开发一个弹簧启动应用程序进行单元测试.

我的一个实体有一个独特的约束.在User类的标题下面.

@Entity
@Table(name = "user", uniqueConstraints = { @UniqueConstraint(columnNames = { "identifier" }) })
@SequenceGenerator(name = "user_pkey", sequenceName = "user_id_seq")
Run Code Online (Sandbox Code Playgroud)

我写了一个小单元测试来检查唯一约束.

测试前功能

@Before
public void before() {
        User user1 = new User();
        user1.setBlackListed(false);
        user1.setIdentifier("test@tby.com");
        user1.setRefreshToken("azerty");          
        this.userDao.save(user1);
}
Run Code Online (Sandbox Code Playgroud)

我的考试

@Test(expected = DataIntegrityViolationException.class)
public void user_identifierUnicityTest() {
    User user4 = new User();
    user4.setBlackListed(false);
    user4.setIdentifier("test@tby.com");
    user4.setRefreshToken("azerty4");
    User response = this.userDao.save(user4);
    this.userDao.findByIdentifier("test@tby.com");
}
Run Code Online (Sandbox Code Playgroud)

我很惊讶,我认为在保存请求期间会抛出异常.或者在查找请求期间抛出异常.

在选择请求期间检查约束完整性而不是插入.我不明白结果.

这是唯一约束的正常行为吗?

谢谢你的回答:)

hibernate h2 unique-constraint spring-data spring-boot

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