Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Spring中,动态创建特定类的不同对象的最佳方法是什么,每个对象都可以访问Springbean?_Spring_Javabeans - Fatal编程技术网

在Spring中,动态创建特定类的不同对象的最佳方法是什么,每个对象都可以访问Springbean?

在Spring中,动态创建特定类的不同对象的最佳方法是什么,每个对象都可以访问Springbean?,spring,javabeans,Spring,Javabeans,假设我有一个文件,每行描述一个不同的命令(但类型相同),我希望读取、检查并运行该命令,还可能执行其他操作,例如合并、比较,最重要的是,将命令存储到数据库中 为此,我创建了Command类,并在读取文件的每一行时创建了new一个新的Command对象。现在的问题是,命令对象需要使用,比如提供数据库访问的Springbean。因此,我必须将该bean作为命令类的构造函数参数传入,这非常难看,似乎不是“Spring方式”。。。 我不想使用ApplicationContextAware使我的类与Spri

假设我有一个文件,每行描述一个不同的命令(但类型相同),我希望读取、检查并运行该命令,还可能执行其他操作,例如合并、比较,最重要的是,将命令存储到数据库中

为此,我创建了
Command
类,并在读取文件的每一行时创建了
new
一个新的Command对象。现在的问题是,命令对象需要使用,比如提供数据库访问的Springbean。因此,我必须将该bean作为命令类的构造函数参数传入,这非常难看,似乎不是“Spring方式”。。。 我不想使用
ApplicationContextAware
使我的类与Spring上下文耦合

对于这种情况是否有最佳实践


我对Spring非常陌生,我知道这可能是一个愚蠢的问题…

在这种情况下,我认为这是创建由
新建的
Springbeans创建的类的最佳方法


因此,使用
@Configurable
对它们进行注释,启用AspectJ,并阅读Spring参考资料。在这种情况下,我认为这是创建由
创建的类的最佳方法


因此,请使用
@Configurable
注释它们,启用AspectJ并阅读Spring参考

我将创建一个与Spring耦合的
命令工厂
,并在您的消费者中使用它。如果工厂实现了一个接口,您没有将自己耦合到消费者中,并且您没有在以后的时间点(例如测试)关闭使用不同的非弹簧耦合接口的可能性。

我将创建一个与弹簧耦合的
命令工厂
,并在消费者中使用它。如果工厂实现了一个接口,那么您没有将自己耦合到使用者中,也没有在以后使用不同的-非弹簧耦合-接口的可能性(例如测试)。

我不同意将bean作为构造函数参数传递是丑陋的。老实说,我更喜欢这样的方面或其他重型机械为这么简单的目的。我现在同意你,更喜欢建造方式。我还检查了Spring的查找方法注入,这在Spring参考中有一个非常类似的示例提到。但我仍然不认为这是一个好的解决方案。我不同意将bean作为构造函数参数传递是丑陋的。老实说,我更喜欢这样的方面或其他重型机械为这么简单的目的。我现在同意你,更喜欢建造方式。我还检查了Spring的查找方法注入,这在Spring参考中有一个非常类似的示例提到。但我仍然不认为这是一个好的解决方案。我不想使用AspectJ。对于这样一个简单的情况来说,这太过分了。我不想使用AspectJ。对于这样一个简单的情况来说,这太过分了。