Я новичок в Spring и имею простую проблему. Я написал простой контроллер с простым конструктором, аннотированный, как показано ниже.Невозможно создать экземпляр Spring MVC Controller
@Controller
public class LoginController
{
private LoginService loginService;
@Inject
public LoginController(LoginService loginService)
{
System.out.println("LoginController constructor - initializing login service");
this.loginService = loginService;
}
Когда я пытаюсь получить доступ к своему веб-приложение в браузере, я получаю следующее сообщение об ошибке: конструктор по умолчанию не найден;
Когда я заменить @Inject аннотацию с @Autowired аннотацию, это работает. Может ли кто-нибудь объяснить, почему? Все, что я читал, говорит о том, что они имеют одинаковое поведение. Я использую Tomcat 6.0.43.
Кроме того, ниже моя весна диспетчера сервлет 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>
Что такое полное имя 'Inject'? –
Autowired - это версия Spring Inject. – mattm
Возможно, он захочет выполнить JSR-330. Не могли бы вы предоставить нам стек? –