@autowired アノテーションが付けられたこの特定のクラスのメンバー プライベート フィールドはサービス JAR 内にあり、コード内でクラスのインスタンスを取得しようとすると、@autowired メンバーは常に null として返されます。プロジェクトの context.xml 内に以下の component-scan ステートメントがあり、JAR 内の基本パッケージを検索しようとしていますが、注釈付きのメンバーに null が挿入されているようです。JAR の内部には、以下と同じ component-scan エントリを持つ context.xml もあります。JAR ソース コードは現在変更できません。不足しているものはありますか?
<!-- local WEB-INF/spring-context/spring-application-context.xml -->
<context:annotation-config />
<context:component-scan base-package="blah.blah" />
//this code within my project
//wjc.getMethod() dereferencing comes back null
public class A{
WithinJARInterface wjc = new WithinJARInterfaceImpl()
List someObject = wjc.getMethod()
}
//this code interface within JAR
public interface WithinJARInterface{
public List getMethod() throws Exception();
}
//this code within JAR
public class WithinJARInterfaceImpl implements WithinJARInterface{
//below member always comes back NULL
@Autowired
private JARService jService;
public List getMethod(){.....}
}
public interface JARService{
public List method1();
}
@Service("JARService")
public class JARServiceImpl implments JARService {
public List method1(){ }
}