当没有显示错误时,如何修复 main 方法未在 java 中执行?



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

这是一个春季遗留项目(简单的maven(,并且有一个H2数据库,由于我没有使用它,因此目前是空的。

我已经检查了我的主要方法,每行后都有打印,没有打印,所以我认为它根本没有击中该方法。

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

主应用.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);
}
}

豆子.xml

<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 的属性,而不是我的控制台只显示光标,就像它在等待输入一样。

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

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

您的AccountInformation类需要如下所示的构造函数:

AccountInformation(int accountNumber, int balance, int overdraft)

注意:参数不必是整数。它们可以是任何兼容的类型。有关详细信息,请参阅此处:

https://docs.spring.io/spring/docs/4.3.12.RELEASE/spring-framework-reference/htmlsingle/#beans-factory-ctor-arguments-resolution

最新更新