我已经通过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的属性,相反,我的控制台只是显示光标,就像它在等待输入。
您的主要方法的签名错误。应该是public static void main(String[] args)
您的xml配置中的构造函数args标记会将相应的值传递给父bean的类的构造函数,该代码在您的代码中为AccountInformation
。它不会传递给main
方法,main
方法的参数始终为String[]
类型。
您的AccountInformation
类需要这样的构造函数:
AccountInformation(int accountNumber, int balance, int overdraft)
注意:它们不必是整数。它们可以是任何兼容的类型。