我想在我的应用程序的开头读取文本数据夹具(CSV文件)并将其放入我的数据库中.
为此,我使用初始化方法(@PostConstruct注释)创建了一个PopulationService.
我也希望它们在一个事务中执行,因此我在同一个方法上添加了@Transactional.
但是,似乎忽略了@Transactional:在我的低级DAO方法中启动/停止事务.
我需要手动管理交易吗?
在Eclipse中是否可以在编辑器中显示有关Javadoc问题的警告.例如,我经常重命名/更改方法的参数,忘记更新Javadoc.
在下一次Javadoc编译之前注意到这一点会很棒.
我必须上课,ClassA和ClassB以及"多对多"的AssociationClass.我想使用一个结构来保存A和B之间的关联,例如我可以知道,对于A或B的每个实例,它们是它们的对应物.
我想过使用带有对键的Hashmap:
Hasmap<Pair<ClassA, ClassB>, AssociationClass> associations;
Run Code Online (Sandbox Code Playgroud)
这样,我可以添加和删除ClassA和ClassB的两个实例之间的关联,并且我可以查询两个给定实例的关系.
但是,我错过了为ClassA或ClassB的给定实例定义所有关联的功能.
我可以通过暴力破解并遍历地图的所有键来搜索给定实例之间的关联,但这是低效且不优雅的.
你知道任何数据结构/免费库可以实现吗?我不想重新发明轮子.
在此先感谢您的帮助,
拉斐尔
注意:这不是一个"数据库"问题.这些对象是用于实时计算的纯POJO,我不需要持久化的东西.
我目前正在研究Java EE项目.我已成功开发了一个Web服务,并将其部署在Eclipse的内置Apache服务器下,以进行测试.
我现在将我的项目分成两个项目:一个主项目和一个依赖项目(比如说"Utils").在开发时,eclipse不会抱怨编译问题,因为我在"构建路径"设置中添加了"Utils"项目作为依赖项.
但是,在启动Tomcat(作为嵌入式服务器)时,它抱怨没有找到"Utils"项目的类.
我期待eclipse将"Utils/bin"复制到WebContent/WEb-INF/classes中,但事实并非如此.我该如何自动化?每当发生变化时,"Utils/bin"会被部署到WebFolder中吗?
仅供参考,我还没有使用Maven(但我打算).
在此先感谢您的帮助,亲切的问候,
拉斐尔
我已经用Jersey Server 编写了一个REST Web服务(完全是摇滚!).我现在正在使用Jersey Client开发它的客户端部分.
在服务器端,我选择了DIGEST身份验证,因为我个人认为BASIC身份验证是一种异端,应该在我们的头脑中标记为"已弃用".
不幸的是,我在客户端看不到任何Digest身份验证的支持.对于BASIC身份验证,可以执行以下操作:
client.addFilter(
new HTTPBasicAuthFilter(
user,
password));
Run Code Online (Sandbox Code Playgroud)
但我看不到" HTTPDigestAuthFilter "对应物.我错过了什么吗?
谢谢你的帮助,
拉斐尔
我目前正在玩Java 1.5中的内省和注释.有一个父抽象类AbstractClass.继承的类可以具有使用自定义@ChildAttribute批注进行批注的属性(类型为ChildClass).
我想编写一个通用方法,列出实例的所有@ChildAttribute属性.
到目前为止,这是我的代码.
父类:
public abstract class AbstractClass {
/** List child attributes (via introspection) */
public final Collection<ChildrenClass> getChildren() {
// Init result
ArrayList<ChildrenClass> result = new ArrayList<ChildrenClass>();
// Loop on fields of current instance
for (Field field : this.getClass().getDeclaredFields()) {
// Is it annotated with @ChildAttribute ?
if (field.getAnnotation(ChildAttribute.class) != null) {
result.add((ChildClass) field.get(this));
}
} // End of loop on fields
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
具有一些子属性的测试实现
public class …Run Code Online (Sandbox Code Playgroud) 我是使用Java进行Web开发的新手.我正在开发一个Web服务,我选择了REST/Jersey.
我想在启动服务时初始化一些东西,并在服务的整个生命周期中保留它们.
第一个问题:Jersey Servlet 的构造函数是一个好的地方吗?
基本上,我想要做的是加载位于我的WEB-INF目录中的config.ini文件.在这个帮助之后,我理解我需要一个ServletContext来加载我的文件作为资源.
但是,我不清楚如何在Jersey Servlet中获取这个ServletContext,因为它实际上不是servlet的实例,而是带有一些注释的POJO.我想尝试这个技巧,但构造函数中的属性"context"为null.我认为Jersey可能会在构造函数之后填充它.对 ?
那么如何正确地做到这一点呢?
到目前为止,这是我的代码:
/** Main REST servlet */
@Path("/")
public class Servlet {
// ----------------------------------------------------
// Constants
// ----------------------------------------------------
static private final String CONFIG_PATH = "/WEB-INF/config.ini";
// ----------------------------------------------------
// Attributes
// ----------------------------------------------------
/** Context */
@Context ServletContext context;
// ----------------------------------------------------
// Constructor
// ----------------------------------------------------
/** Init the servlet */
public Servlet() {
// Load config.ini from WEB-INF
Config.config …Run Code Online (Sandbox Code Playgroud) 我目前正在努力使用Maven:我有一个由多个嵌套模块组成的复杂项目,对于其中一些模块,我在POM中有类似的配置.
我想把它弄干净.实际上,我想定义一个"runnable-jar"常用配置并在某些模块中激活它.
这是我想在几个项目之间共享的POM片段:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<!-- Use a custom descriptor, with suffix "bin" -->
<descriptors>
<descriptor>src/main/assembly/runnable-jar-assembly.xml</descriptor>
</descriptors>
<!-- Add main class to manifest -->
<archive>
<manifest>
<mainClass>${mainClass}</mainClass>
</manifest>
</archive>
</configuration>
<!-- Add build of this package to lifecycle -->
<executions>
<execution>
<id>make-runnable-jar</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
在某些POMS中,我希望能够做到这样的事情:
<!-- Set the main class -->
<properties>
<mainClass>my.main.Class</mainClass>
</properties>
<!-- Activate runnable jar build -->
<import>src/main/pom/runnable-jar-pom.xml</import>
Run Code Online (Sandbox Code Playgroud)
我已经搜索了将一些XML片段导入POM或者定义整个XML节点集宏的方法.
对于我所发现的,最接近的解决方案是在父POM中定义一个配置文件,并通过测试文件的存在在一些子模块中激活它.看到这个相关的问题.但我面临的问题是{basedir}属性没有被正确设置为继承/设置.
我发现需要黑客做一些如此基本的事情(通常)是非常令人惊讶的.你如何在Maven中处理这个问题?
我目前正在将构建过程从Eclipse/Ant迁移到Maven/M2Eclipse/Artifactory.我在Eclipse中有一个Webapp作为WTP项目.我用m2eclipse将它迁移到了Maven.
编译从Eclipse IDE运行良好.
但是,当我尝试从Maven CLI(mvn clean & mvn compile)编译时,Maven抱怨没有找到Tomcat环境提供的库(如annotations-api,servlet-api等等).
足够公平:确实,这些依赖关系是由WTP提供的Java resources / Libraries / ApacheTomcat6.Maven不知道他们.
我可以在构建路径中停用它,并在我的POM中添加每个相应的依赖项,但我担心这会导致Maven再次在我的webapp(WEB-INF/libs)中部署它们.
那么,对maven说"这个应用程序将在一个众所周知的环境中运行,提供以下库"的好方法是什么?我可以添加一些常见的Tomcat POM作为依赖吗?
提前感谢您的建议.问候,
拉斐尔
我正在构建一个基于MVC框架的JQuery Mobile应用程序.
我的问题是我无法向浏览器发送"重定向"指令(HTTP,Javascript,META-refresh).
它导致浏览器显示一行:" undefined ".
以下是服务器端重定向的代码:
<html><head>
<script>location.href='$url'</script>
</head></html>
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过使用来解决问题data-ajax=false,但我不希望这样:
有没有办法让JQuery Mobile正确处理一种重定向?HTTP,HTML META还是Javascript?