Я хочу, чтобы создать источник данных компонента программно в зависимости от арг, передаваемой от пользователя, тоКак создать bean-компонент при запуске приложения перед загрузкой весеннего контекста?
public class Main {
public static void main(String[] args) throws IOException, InterruptedException {
//TODO load proper configs depending on args
//TODO initiate dataSource bean with UN and PS in args
ApplicationContext context = new ClassPathXmlApplicationContext("config/applicationContext-common.xml");
}
}
Я сделал немного погуглите уже и нашел, что я должен создать пост процессора боб, который создает источник данных боб и программно настраивает его с помощью извлеченных данных. То, что я хотел бы увидеть, - настоящий пример.
хорошо, это означает, что если у меня есть еще один компонент, который зависит от 'dataSource' и имеет метод инициализации, который использует' dataSource' я должен программно зарегистрировать его, а также перед обновлением контекста и так далее? –
@MustafaZidan no, init не будет вызываться, пока вы не вызовете 'refresh()'. Вы должны иметь возможность включать beans в зависимости от «dataSource» в вашем xml. – mrembisz
aha, получилось, это было полезно :) –