小编Rap*_*vet的帖子

@Transactional @PostConstruct方法

我想在我的应用程序的开头读取文本数据夹具(CSV文件)并将其放入我的数据库中.

为此,我使用初始化方法(@PostConstruct注释)创建了一个PopulationService.

我也希望它们在一个事务中执行,因此我在同一个方法上添加了@Transactional.

但是,似乎忽略了@Transactional:在我的低级DAO方法中启动/停止事务.

我需要手动管理交易吗?

spring transactions

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

如何在Eclipse中启用Javadoc警告?

在Eclipse中是否可以在编辑器中显示有关Javadoc问题的警告.例如,我经常重命名/更改方法的参数,忘记更新Javadoc.

在下一次Javadoc编译之前注意到这一点会很棒.

java eclipse javadoc

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

Java多对多关联映射

我必须上课,ClassAClassB以及"多对多"的AssociationClass.我想使用一个结构来保存A和B之间的关联,例如我可以知道,对于A或B的每个实例,它们是它们的对应物.

我想过使用带有对键的Hashmap:

Hasmap<Pair<ClassA, ClassB>, AssociationClass> associations;
Run Code Online (Sandbox Code Playgroud)

这样,我可以添加和删除ClassAClassB的两个实例之间的关联,并且我可以查询两个给定实例的关系.

但是,我错过了为ClassAClassB的给定实例定义所有关联的功能.

我可以通过暴力破解并遍历地图的所有键来搜索给定实例之间的关联,但这是低效且不优雅的.

你知道任何数据结构/免费库可以实现吗?我不想重新发明轮子.

在此先感谢您的帮助,

拉斐尔

注意:这不是一个"数据库"问题.这些对象是用于实时计算的纯POJO,我不需要持久化的东西.

java many-to-many structure hashmap associations

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

Eclipse WTP不会在WebContent中发布项目依赖项

我目前正在研究Java EE项目.我已成功开发了一个Web服务,并将其部署在Eclipse的内置Apache服务器下,以进行测试.

我现在将我的项目分成两个项目:一个主项目和一个依赖项目(比如说"Utils").在开发时,eclipse不会抱怨编译问题,因为我在"构建路径"设置中添加了"Utils"项目作为依赖项.

但是,在启动Tomcat(作为嵌入式服务器)时,它抱怨没有找到"Utils"项目的类.

我期待eclipse将"Utils/bin"复制到WebContent/WEb-INF/classes中,但事实并非如此.我该如何自动化?每当发生变化时,"Utils/bin"会被部署到WebFolder中吗?

仅供参考,我还没有使用Maven(但我打算).

在此先感谢您的帮助,亲切的问候,

拉斐尔

java eclipse eclipse-wtp

11
推荐指数
2
解决办法
4493
查看次数

使用Jersey Client进行摘要式身份验证

我已经用Jersey Server 编写了一个REST Web服务(完全是摇滚!).我现在正在使用Jersey Client开发它的客户端部分.

在服务器端,我选择了DIGEST身份验证,因为我个人认为BASIC身份验证是一种异端,应该在我们的头脑中标记为"已弃用".

不幸的是,我在客户端看不到任何Digest身份验证的支持.对于BASIC身份验证,可以执行以下操作:

client.addFilter(
    new HTTPBasicAuthFilter(
        user, 
        password));
Run Code Online (Sandbox Code Playgroud)

但我看不到" HTTPDigestAuthFilter "对应物.我错过了什么吗?

谢谢你的帮助,

拉斐尔

java jersey http-authentication

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

尝试通过内省从父类访问attibrute时出现非法访问异常

我目前正在玩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 introspection java-5

9
推荐指数
2
解决办法
8954
查看次数

启动时的Jersey/ServletContext和资源加载

我是使用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)

rest resources servlets jersey

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

如何在不同的POM之间共享POM片段

我目前正在努力使用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中处理这个问题?

profile pom.xml maven

8
推荐指数
2
解决办法
3063
查看次数

在maven POM中设置Tomcat库依赖项

我目前正在将构建过程从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作为依赖吗?

提前感谢您的建议.问候,

拉斐尔

eclipse tomcat m2eclipse maven

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

使用Ajax调用支持Jquery移动中的页面重定向

我正在构建一个基于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移动过渡
  • 这在Ajax中要快得多
  • 每当框架发送重定向时,我都不想为每个链接感到疑惑

有没有办法让JQuery Mobile正确处理一种重定向?HTTP,HTML META还是Javascript?

php redirect jquery-mobile

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