私はSpringが初めてで、クラス属性で ServletContext に @Autowire アノテーションを使用しようとしています:
@Controller
public class ServicesImpl implements Services{
@Autowired
ServletContext context;
このクラスの Bean を、dispatcher-servlet.xml で定義しました。
<bean id="services" class="com.xxx.yyy.ServicesImpl" />
しかし、JUnit テストを実行しようとすると、次のエラーが発生します。
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [javax.servlet.ServletContext] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
SpringでServletContextのインジェクションは自動だと思っていたのですが…どうすれば解決できますか?
ありがとう!
編集: servletContext を使用して getRealPath() メソッドを呼び出したいです。代替手段はありますか?