gpt4 book ai didi

java - 通过方法创建对象时出现 Autowiring 问题

转载 作者:行者123 更新时间:2023-12-01 15:54:35 24 4
gpt4 key购买 nike

我正在使用PicoContainer来连接我的应用程序的类。如下所示,一切都很完美,但都集中在一个地方:

    CharArrayReader reader = new CharArrayReader(acCode.toCharArray());
CharStream charStream = new CharStream(reader);
Scanner scanner = new Scanner(charStream);
TokenStream tokenStream = new TokenStream(scanner);
ParserGeneratingAST parserGeneratingAST = new ParserGeneratingAST(tokenStream);
--> AbstractSyntaxTree ast = parserGeneratingAST.generateAST(); <-- here is the problem
SymbolsTable symbolsTable = new SymbolsTable();
ErrorsTable errorsTable = new ErrorsTable();

SymbolsTableFillerVisitor symbolsTableFillerVisitor = new SymbolsTableFillerVisitor(symbolsTable, errorsTable);
TypeCheckingVisitor typeCheckingVisitor = new TypeCheckingVisitor(symbolsTable, errorsTable);
InstructionsList instructionsList = new InstructionsList();
CodeGenerationVisitor codeGenerationVisitor = new CodeGenerationVisitor(instructionsList);

symbolsTableFillerVisitor.visit(ast);
typeCheckingVisitor.visit(ast);
codeGenerationVisitor.visit(ast);

问题所在

AbstractSyntaxTree ast = parserGeneratingAST.generateAST();

有没有办法使用 PicoContainer 来解决这个问题?如果可能的话,我希望我的类不带注释。

谢谢

最佳答案

如果我理解正确,您的问题是将 AbstractSyntaxTree 注入(inject)到您的类中,但您必须使用 ParserGenerateAST 生成 AbstractSyntaxTree< 的实例。虽然我不是 PicoContainer 方面的专家,但我认为在这种情况下,您可以使用创建 AbstractSyntaxTree 对象的工厂(通过使用 ParserGenerateAST),然后您可以使用Factory Injection

关于java - 通过方法创建对象时出现 Autowiring 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5336751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com