У меня есть программа, которая на самом деле называется веб-службой, с другой веб-службы. Вызывающая моя программа преобразует вход (который является входом в мою программу) в JSON, а затем вызывает мою программу, передавая JSON. Моя программа преобразует ее (через GSON) в Java-код. Имейте в виду, что вход находится в файле jar, который включен в мой pom. Есть ли способ автоподключить часть ввода?Spring - предоставление @Autowired во время выполнения
Что я сделал до сих пор поставить @Component
на части я хочу autowire, называется SystemInfo:
@Component
public class SystemInfo {
protected String GUID;
protected String EntityID;
protected Double EpisodeNumber;
protected Double ErrorCode;
protected String ErrorMesg;
protected String Facility;
protected String NamespaceName;
protected String OptionId;
protected String OptionStaffId;
protected String OptionUserId;
protected String ParentNamespace;
protected String ServerName;
protected String SystemCode;
protected String WarName;
protected String ScriptName;
/**
* @return the gUID
*/
public String getGUID() {
return GUID;
}
<other setters and getters>
Я создал ApplicationConfig.java, который состоит из:
@Configuration
@ComponentScan(basePackages = "org.mhcd.avatar.model")
public class ApplicationConfig {
}
Я положил это в банку, чтобы он увидел @Component
. Я положил в XML для моей программы:
<bean id="systemInfo"
class="org.mhcd.avatar.model.domainLayer.SystemInfo"
autowire="byType" autowire-candidate="true">
</bean>
Затем я положил в моей программе:
@Autowired
private ApplicationContext context;
и
GenericApplicationContext ctx = new GenericApplicationContext(context);
ctx.refresh();
Обновление экрана я поставил после того, как я преобразовал JSON в Java объекты. Я положил @Autowired
перед SystemInfo в мои объекты DAO, и я прошел через свои DAO в отладке, а SystemInfo - null. Я думаю, что должен быть способ сделать это, но я не знаю, что это.
Что вы хотите сделать, это autowire объект передачи, который вы получаете в своем веб-сервисе? Почему ты хочешь сделать это ? – reos
Возможный дубликат [Как обновить все весенние объекты после настройки новой конфигурации?] (Http://stackoverflow.com/questions/36501508/how-can-i-update-all-spring-objects-after-setting-new -configuration) – nowszy94
@reos Да, это точно. Я хочу сделать это, потому что это требует журнал. (Регистратор основан на log4j 2 и записывается в базу данных.) Часть, которую я хочу «@ Autowired», содержит много информации. – horndinkle