Java Spring 3,在非托管类中注入bean的可配置注释的风险?

Java Spring 3,在非托管类中注入bean的可配置注释的风险?,java,spring,dependency-injection,inversion-of-control,aspectj,Java,Spring,Dependency Injection,Inversion Of Control,Aspectj,我有一个Spring3项目,它充当RESTAPI,并希望将我拥有的Springbean连接到一个非托管类中以用于日志记录 在尝试了许多不同的方法之后,有效的方法是使用注释@Configurable标记我的非托管类 比如: 然后在my beans.xml中: <context:spring-configured/> 现在让我们假设ClassNotManagedBySpring.java,是6个做类似事情的类中的一个,除了其中3个是由spring管理的,因为它们有@组件注释 但是所

我有一个Spring3项目,它充当RESTAPI,并希望将我拥有的Springbean连接到一个非托管类中以用于日志记录

在尝试了许多不同的方法之后,有效的方法是使用注释
@Configurable
标记我的非托管类

比如:

然后在my beans.xml中:

<context:spring-configured/>

现在让我们假设
ClassNotManagedBySpring.java
,是6个做类似事情的类中的一个,除了其中3个是由spring管理的,因为它们有
@组件
注释

但是所有6个类都需要
@Autowire
MyBean.java
,只有一些类需要
@Configurable
注释

要注意的是,我之前已经在这个应用程序中使用AspectJ用于多种其他用途

我想知道我的spring应用程序中突然以这种方式将spring管理的依赖项连接到非管理的类中的风险是什么

是否存在性能问题?运行时出错的风险


如果这不是将spring托管bean连接到非托管类的最佳方式,那是什么?

我多年来一直在使用
@Configurable
,没有任何问题,如果您需要spring配置的应用程序实例化bean,这是一个非常简单的解决方案。我的用例都在UI层。每当我需要构造函数中已有的自动连接值时,我也使用了
@Configurable(preConstruction=true)
。当然,如果你让数以百万计的
@可配置的
对象,这可能是一个性能问题,否则我不会太担心它。我遇到的唯一一个小美学问题是Eclipse在扩展
@Configurable
类的类定义处给了我一些红色下划线,抱怨类SomeClass的层次结构不一致,但它编译了它们,在Problems视图中或在运行时没有任何错误。

如果我想在非spring管理的类中使用相同的SpringBean,除了在容器中设置的bean,该怎么办?这就是使用
@Configurable
.Hmm的全部目的,既然现在这样做了,我已经注释为配置的类auto wire我的依赖关系很好,并且这些类被注释为:@Configurable(autowire=autowire.BY_TYPE,preConstruction=true),但是现在在我的其他类中,这些类没有配置,由spring作为bean管理,我得到以下结果:嵌套异常是org.springframework.beans.factory.beancreatitionexception:创建名为“(内部bean)”的bean时出错:bean实例化失败;嵌套异常为org.springframework.beans.factory.BeanDefinitionStoreException:factory方法[public static java.lang.Object org.apache.cxf.configuration.jsse.spring.tlsclientparameters sconfig.createTLSClientParameters(java.lang.String)]抛出异常;嵌套异常是java.lang.RuntimeException:java.io.FileNotFoundException:我认为该错误与您的特定配置有关,而与一般使用
@Configurable
无关。
<context:spring-configured/>