私は、実際に別のWebサービスからWebサービスとして呼び出されているプログラムを持っています。私のプログラムの呼び出し側は、入力(私のプログラムへの入力も)をJSONに変換し、JSONを渡す私のプログラムを呼び出します。私のプログラムは(GSONを通して)Javaコードに変換します。入力はpomに含まれているjarファイルにあることに注意してください。入力の一部をオートワイヤリングする方法はありますか?私はこれまで何をやったかSpring - 実行時に@Autowiredを提供する
は、システム情報と呼ばれる私がautowireしたい部分、上@Component
を置くことです:
@Configuration
@ComponentScan(basePackages = "org.mhcd.avatar.model")
public class ApplicationConfig {
}
:私はで構成されていApplicationConfig.javaを設定した
@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>
私は瓶に入れて、@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();
私は、JavaにJSONに変換した後、私は入れてリフレッシュオブジェクト。私は@Autowired
を私のDAOオブジェクトのSystemInfoの前に置き、デバッグで私のDAOを踏んだり、SystemInfoはnullです。私はこれを行う方法がなければならないと思っていますが、私はそれが何であるか分かりません。
あなたがしたいことは、あなたがwebserviceで受け取った転送オブジェクトをautowireですか?なぜあなたはこれをしたいのですか? – reos
[新しい設定を行った後、すべてのスプリングオブジェクトを更新するにはどうすればいいですか?](http://stackoverflow.com/questions/36501508/how-can-i-update-all-spring-objects-after-setting-new -configuration) – nowszy94
@reosはい、それは正確です。私はロガーがそれを必要とするので、これをしたい。 (ロガーはlog4j 2に基づいており、データベースに書き込みます。) '@ Autowired 'にしたい部分には多くの情報が含まれています。 – horndinkle