Полагаю, что реальный вопрос заключается в том, как настроить свойства автоматически обнаруженного bean-компонента через XML.
Вы можете сделать это, определив <bean>
с тем же именем, что и у автообнаруженного (когда имя автообнаруженногоbean-компонент не указан, предполагается, что это имя класса с декапитализированной первой буквой):
@Controller
@RequestMapping(value="/test")
public class TestController {
private String viewName = "newtest";
public void setViewName(String viewName) {
this.viewName = viewName;
}
@RequestMapping(method=RequestMethod.GET)
public String getCreateForm(Model model) {
model.addAttribute(new AccountBean());
return viewName;
}
}
.
<bean id = "testController" class = "TestController">
<property name = "viewName" value = "oldtest" />
</bean>
Другой вариант - использовать @Value
с выражениями SpEL
@Value("#{testViewName}") private String viewName;
.
<bean id = "testViewName" class = "java.lang.String">
<constructor-arg value = "oldtest" />
</bean>
или заполнителей свойств
@Value("${testViewName}") private String viewName;
.
<context:property-placeholder location = "viewnames" />
viewnames.properties
:
testViewName=oldtest