当没有错误显示时,如何修复Java中未执行的主要方法?

问题描述 投票:-1回答:1

我已经通过XML为帐户创建了一个bean。目前,我的主要方法应该只是打印我添加到此bean的构造方法参数。该程序运行没有错误,但是main没有执行,所以控制台中没有输出。

这是一个春季遗留项目(简单的maven),并且拥有一个H2数据库,由于我没有使用过它,所以当前为空。

我已经在每行之后用打印检查了我的主要方法,没有一个正在打印,所以我认为它根本没有达到该方法。

我已经检查了beans.xml,而且设计似乎已经成功创建。我已经仔细检查了pom.xml,以确保我具有正确的groupId。我还右键单击mainApp文件,然后以“运行方式”运行-运行配置,主要并确保其中包括系统文件。在这里,它的主类标记为h2.console。

MainApp.java

package com.r00107892.bank;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.r00107892.bank.domain.Account;

public class MainApp {

    public static void main() {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext ("beans.xml");
        Account account = (Account) context.getBean("account");
        System.out.println(account);
    }
}



<bean class="com.r00107892.bank.domain.AccountImplementation" id="account">
    <constructor-arg name = "accountNumber" value="1"></constructor-arg>
    <constructor-arg name = "balance" value="1000"></constructor-arg>
   <constructor-arg name =  "overdraft" value="500"></constructor-arg>
    </bean>'''

我希望看到打印出的Bean的属性,相反,我的控制台只是显示光标,就像它在等待输入。

java xml spring legacy
1个回答
0
投票

您的主要方法的签名错误。应该是public static void main(String[] args)

您的xml配置中的构造函数args标记会将相应的值传递给父bean的类的构造函数,该代码在您的代码中为AccountInformation。它不会传递给main方法,main方法的参数始终为String[]类型。

您的AccountInformation类需要这样的构造函数:

AccountInformation(int accountNumber, int balance, int overdraft)

注意:它们不必是整数。它们可以是任何兼容的类型。

© www.soinside.com 2019 - 2024. All rights reserved.