Springの@Autowiredフィールドがnullになるのはなぜですか?
注:これは、一般的な問題に対する標準的な回答となることを目的としています。 フィールド@Service(MileageFeeCalculator)を持つSpring クラス()があり@AutowiredますrateServiceが、フィールドはnull使用しようとしたときのものです。ログには、MileageFeeCalculatorBeanとMileageRateServiceBeanの両方が作成されていることが示されていますが、サービスBeanでメソッドNullPointerExceptionを呼び出そうとすると、常にを取得しmileageChargeます。Springがフィールドを自動配線しないのはなぜですか? コントローラクラス: @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 mileageCharge(final int miles) { return …