我正在Spring Boot中开发一个框架,某些应用程序会使用该框架。在运行时的某个时刻,应用程序为我提供了(框架)
类A
的实例,我想(使用spring)对其func
方法进行赋值。
问题在于,我不是构造此实例的人,因此无法通过applicationContext.getBean(A.class)
创建它。
有没有办法给Spring这个实例并告诉它使它成为一个bean(或用它代理)?
public interface A {
void func(int i);
}
方面:
@Aspect
public class AspectClass {
@Around("execution(*com.A.func(..))")
public void funcAspect(ProceedingJoinPoint joinPoint) throws Throwable {
....
}
}
我希望它类似于:A bean = applicationContext.makeBean(instanceOfA)
编辑:我无法控制A
的构造,我不是构造它的人,我只是得到了它的现有实例并希望从现在开始介绍其func
方法。
答案 0 :(得分:0)
您是否知道Java @Bean
类中的@Configuration
批注?这是创建bean的第三种流行方法,而这恰好在当您不希望Spring容器从候选类实例化默认bean而是创建自定义对象(在@Bean方法中)时,对对象的任何调整(在返回之前),最后返回该实例。 Spring会在其应用程序上下文中自动将该(您的自定义对象)对象注册为Bean。