无论如何,在进行差异/合并时,是否要将Eclipse/EGit配置为使用外部差异编辑器和合并工具?我一直在寻找一种方法来使用像BeyondCompare或DiffMerge或Kaleidoscope这样的东西,但到目前为止还没有找到配置它的方法.
我意识到BC有自己的插件,但它在Egit上下文中不起作用(即:查看历史记录并与工作树进行比较等).
我正在运行Eclipse 3.7SR2(Indigo)和eGit 2.1.0.我已经尝试将东西放在我的.gitconfig中以使用外部差异工具,但Eclipse仍然在自己的比较窗口中打开文件.
我正在运行Eclipse Juno 4.2(从Indigo 3.7升级),安装了Spring Tool Suite工具.前段时间我安装了Spring Roo 1.2.2.RELEASE,并将Roo插件配置为指向1.2.2.RELEASE运行时.
我现在想升级到Spring 1.2.4.RELEASE,但无法在任何地方找到运行时.我查看了Spring网站,但似乎无法在任何地方找到它的下载链接.
所以有几个问题:
1)运行时是否仍然需要单独下载,是否仍需要将Eclipse配置为单独指向它?
2)我在哪里可以下载运行时?
3)为什么我需要单独的运行时?为什么STS/Eclipse不够聪明,无法使用我的maven项目中包含的Roo工件?
我有一个带有受保护的@PostConstruct方法的静态Spring 3.2.4 bean,它在初始化时从DB加载数据.
在创建jUnit测试时,在我的测试方法中,我想在DB中设置数据以适当地测试bean.但是,鉴于bean在我的测试方法之前被实例化,我不知道如何在方法完成之前请求Spring推迟bean的实例化.
鉴于@PostConstruct方法受到保护,我不能直接调用它来重新初始化bean,除非我使用反射.
还有另一种方法可以做到这一点,还是反思唯一的方法?Spring是否有任何Util类使其更容易,或者我是否必须使用标准的java反射?
我试图将特定配置文件的所有 bean 定义放在一起,并且不想将它们全部推入一个巨大的 AppConfig.java 类中。我想知道是否有一种方法可以使用 package-info.java 在包级别进行注释,并使该包中的所有配置文件继承该配置文件。
我在 package-info.java 中尝试了以下操作:
@Profile("test")
package com.system.configuration.test;
import org.springframework.context.annotation.Profile;
Run Code Online (Sandbox Code Playgroud)
但是@Configuration无论是否是“测试”配置文件,包中的类似乎都会被使用。
单独注释每个类是唯一的选择吗?
我正在使用 Hibernate 5 和 Spring 3.2.4。我正在设计一个用户实体,我想在其中包含对创建实体的用户的引用 - 所以是自我引用。自引用本身并没有太大问题,但我想将该字段指定为非空。这可能吗?如果该字段不为空,因为引用的实体不存在,如何在数据库中创建第一个条目?
前任:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long User.id;
@NotNull
private String username;
private String password;
@NotNull
private User user;
// getters and setters omitted for brevity
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试:
User u = new User();
u.setUsername("username");
u.setCreatedBy(u);
Run Code Online (Sandbox Code Playgroud)
并尝试坚持u,我收到以下错误消息:
Caused by: org.hibernate.TransientPropertyValueException: Not-null property references a transient value - transient instance must be saved before current operation: com.domain.User.createdBy -> com.domain.User
Run Code Online (Sandbox Code Playgroud)
我知道 Hibernate 抱怨它无法引用瞬态实例(即:)u,但 …
JPA 中有没有办法将行直接插入连接表?我有以下合同和附件实体:
public class Contract implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long id;
@Version
@Column(name = "version")
private Integer version;
private String number;
private String volume;
@ManyToMany
@JoinTable(joinColumns = @JoinColumn(name = "contract_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "attachment_id", referencedColumnName = "id"))
private List<Attachment> attachments;
}
Run Code Online (Sandbox Code Playgroud)
Attachment 实体:
public class Attachment implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long id;
@Version
@Column(name = "version")
private Integer version;
private String name; …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 BouncyCastle 添加到我的 Spring 应用程序中,但我不确定如何java.security.Security使用 JavaConfig 将提供程序添加到提供程序列表中。
使用 XML 配置,我可以使用MethodInvokingFactoryBean类似以下内容:
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="staticMethod" value="java.security.Security.addProvider"/>
<property name="arguments">
<list>
<bean class="org.bouncycastle.jce.provider.BouncyCastleProvider"/>
</list>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
但是,我不确定使用 JavaConfig 执行此操作的正确方法。我还应该使用吗MethodInvokingFactoryBean?我想因为它是纯java,所以会有更直接的方法。目前,我已将该指令添加到@PostConstructJavaConfig 对象中的一个方法中,但对此并不太兴奋 - 对我来说这似乎有点“hacky”:
@Configuration
public class AppConfig {
// other @Bean definitions
@PostConstruct
public void init(){
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
}
}
Run Code Online (Sandbox Code Playgroud) 我正在研究CouchDB和Couchbase,因为我正在为一个Web应用程序寻找一个数据库解决方案,我最终也可以将其制作成一个原生的Android/iOS应用程序.据我所知,CouchDB/Couchbase擅长脱机使用数据库,并在连接恢复后立即进行同步.
我进一步了解CouchDB和Couchbase是来自2个不同组织的2个不同产品 - CouchDB来自Apache,Couchbase来自Couchbase.在SO中有一个很好的回应,解释了一些差异.
Couchbase拥有Couchbase-Lite-Android和类似iOS的本机嵌入式数据库,适用于与Couchbase服务器同步的移动应用程序.
我迷路的地方是当我试图找到相当于CouchDB的时候.一切都指向TouchDB,然后说它不再是积极开发的,而是指向Couchbase-Lite-Android作为超越它的项目.但Couchbase-List-Android/iOS与CouchDB或Couchbase同步吗?根据Wiki,它表明它可以与CouchDB同步,但它是次要后端,它接收较低的优先级和/或错误修复.
那么应该用于Android/iOS的CouchDB的嵌入式/移动版本是什么?
我在MacOS上运行Oracle Java 7(OSX 10.7.5)
java -version:
Java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)
Run Code Online (Sandbox Code Playgroud)
我最近读到了有关DCEVM的内容,我非常好奇地试用它.但是,我对它的兼容性感到困惑.
根据二进制文件下载页面,有OpenJDK Java 7更新51,构建3的二进制文件.我不太确定这与我目前在我的机器上的Java版本有什么关系.
安装JRE是否需要与DCEVM Hotspot版本匹配?我是否需要安装OpenJDK 7_51_3才能使用有问题的DCEVM?或者我可以使用Oracle JRE安装热点VM吗?
我不完全确定JRE/JDK附带的所有实用程序如何与HotSpot VM交互,如果它们都必须具有相同的构建,那么编译后的字节代码应该能够在任何JVM上运行相同的主要版本号.
任何人都可以提供一些有关如何将所有这些组件组合在一起
作为后续,有没有人知道我是否可以找到OSX的OpenJDK兼容版本,我可以在其上运行DCEVM for Java 7 update 51,build 3??
我知道 iBeacon 的定义是它正在传输的广告数据包的固定规范:
话虽如此,是否有任何东西可以阻止信标既发送广告 iBeacon 数据包以唤醒手机的应用程序,又将实际数据内容作为 BLE 数据包的一部分传输?是否需要大量握手才能发送/传输附加数据?
信标是否有其他方式传输数据?我最大的担忧之一是欺骗我的信标以伪造我试图收集的数据。我希望能够与 iBeacon 数据包一起传输一些数据可以让我限制欺骗。
这样的事情甚至可行吗?
java ×4
spring ×3
eclipse ×2
jpa ×2
android ×1
bouncycastle ×1
compare ×1
couchbase ×1
couchdb ×1
dcevm ×1
eclipse-juno ×1
egit ×1
external ×1
git ×1
hibernate ×1
hotswap ×1
ibeacon ×1
jpa-2.0 ×1
jpql ×1
junit ×1
jvm-hotspot ×1
openjdk ×1
persistence ×1
reflection ×1
security ×1
spring-roo ×1