无法实例化 Spring MVC 控制器

Unable to instantiate Spring MVC Controller

我是 Spring 的新手,有一个简单的问题。 我写了一个简单的控制器和一个简单的构造函数,注释如下所示。

@Controller
public class LoginController
{
   private LoginService loginService;

   @Inject
   public LoginController(LoginService loginService)
   {
      System.out.println("LoginController constructor - initializing  login service");
      this.loginService = loginService;
   }

当我尝试在浏览器中访问我的网络应用程序时,出现以下错误: 未找到默认构造函数;

当我用 @Autowired 注释替换 @Inject 注释时,它起作用了。谁能解释为什么?我读过的所有内容都说具有相同的行为。我正在使用 Tomcat 6.0.43.

此外,下面是我的 spring 调度程序 servlet xml:

<mvc:resources mapping="/resources/**" location="/resources/" />    
<mvc:annotation-driven/>                                            

<context:component-scan base-package="com.rockwell_collins.webquery"/>  

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
   <property name="viewClass"   value="org.springframework.web.servlet.view.JstlView"/>
   <property name="prefix"    value="/WEB-INF/views/"/>
   <property name="suffix"    value=".jsp"/>
</bean>

您的运行时 class 路径中一定缺少 JavaEE 注入 API。如果在 class 路径中找到 class,Spring 将仅查找 @Inject

您可以从 Maven here 获取它并将其添加到您的运行时 class 路径(手动或通过依赖项)。