Bạn cần sử dụng giao diện mùa xuân FactoryBean
.
Giao diện được thực hiện bởi các đối tượng được sử dụng trong một số BeanFactory
mà chính các nhà máy đó là . Nếu một bean thực hiện giao diện này, nó là được sử dụng như một nhà máy cho một đối tượng để lộ, không trực tiếp như một bean thể hiện sẽ được tự tiếp xúc.
Triển khai giao diện và khai báo một bean cho nó. Ví dụ:
@Component
class MyStaticFactoryFactoryBean implements FactoryBean<MyStaticFactory>
{
public MyStaticFactory getObject()
MyStaticFactory.getObject();
}
public Class<?> getObjectType() {
return MyStaticFactory.class;
}
public boolean isSingleton() {
return true;
}
}
Thông qua @Component
và quét thành phần, lớp này sẽ được phát hiện. Spring sẽ phát hiện rằng đó là FactoryBean
và hiển thị đối tượng bạn quay trở lại từ getObject
dưới dạng bean (singleton nếu bạn chỉ định nó).
Hoặc, bạn có thể cung cấp tuyên bố @Bean
hoặc <bean>
cho lớp FactoryBean
này.
Coudl bạn nhận xét một mã trong câu trả lời của bạn? – mlkn