我正在编写一个部署在Tomcat上的Spring MVC应用程序。 请参阅以下最小,完整且可validation的示例 : public class Application extends AbstractAnnotationConfigDispatcherServletInitializer { protected Class<?>[] getRootConfigClasses() { return new Class<?>[] { }; } protected Class<?>[] getServletConfigClasses() { return new Class<?>[] { SpringServletConfig.class }; } protected String[] getServletMappings() { return new String[] { "/*" }; } } SpringServletConfig在哪里 @Configuration @ComponentScan("com.example.controllers") @EnableWebMvc public class SpringServletConfig { @Bean public InternalResourceViewResolver resolver() […]
注意:这是针对常见问题的典型答案。 我有一个Spring @Service类( MileageFeeCalculator )具有@Autowired字段( rateService ),但是当我尝试使用它时,该字段为null 。 日志显示正在创buildMileageFeeCalculator bean和MileageRateService bean,但每当我尝试调用我的服务bean上的mileageCharge方法时,都会收到NullPointerException 。 Spring为什么不自动assembly这个字段? 控制器类: @Controller public class MileageFeeController { @RequestMapping("/mileage/{miles}") @ResponseBody public float mileageFee(@PathVariable int miles) { MileageFeeCalculator calc = new MileageFeeCalculator(); return calc.mileageCharge(miles); } } 服务等级: @Service public class MileageFeeCalculator { @Autowired private MileageRateService rateService; // <— should be autowired, is null public float […]