Tôi mới với mùa xuân, và tôi đang cố gắng sử dụng các chú thích @Autowire cho ServletContext với thuộc tính lớp của tôi:Không thể Autowire ServletContext
@Controller
public class ServicesImpl implements Services{
@Autowired
ServletContext context;
tôi xác định đậu cho lớp này trong tôi phối-servlet.xml:
<bean id="services" class="com.xxx.yyy.ServicesImpl" />
Nhưng khi tôi cố gắng chạy một thử nghiệm JUnit nó mang lại cho các lỗi sau:
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)}
Tôi nghĩ rằng việc tiêm ServletContext là tự động với mùa xuân ... Làm thế nào tôi có thể giải quyết điều này?
Cảm ơn!
EDIT: Tôi muốn sử dụng servletContext để gọi phương thức getRealPath(). Có cách nào khác không?
Có, Nếu nó từ JUNit, bạn nên sử dụng MockServletContext – ccheneson
Xin lỗi vì xóa bài đăng, tôi đã xác định bean MockServletContext trong tệp test-context.xml của tôi nhưng biến vẫn là null ... – qxlab
Bạn đang tải ngữ cảnh thử nghiệm. xml? – ccheneson