Следующие аннотации стереотипа в 2.5 могут использоваться в приложении Spring MVC в качестве альтернативы подключению компонентов в XML:
@ Репозиторий - для бобов DAO - позволяет
вам бросить DataAccessException, когда
источник данных недоступен.
@ Сервис - для деловых бобов -
довольно простые бобы, которые имеют некоторые
политики хранения по умолчанию.
@ Контроллер - для сервлетов -
позволяет настроить запрос страницы
отображения и т. д.
Кроме того, введена общая четвертая аннотация: @Component. Все аннотации MVC являются специализациями этой, и вы даже можете использовать @Component самостоятельно, хотя, делая это в Spring MVC, вы не будете использовать какие-либо будущие оптимизации / функциональные возможности, добавленные к аннотациям более высокого уровня. Вы также можете расширить @Component для создания своих собственных стереотипов.
Вот краткий пример аннотаций MVC в действии ... Во-первых, объект доступа к данным:
@Repository
public class DatabaseDAO {
@Autowired
private SimpleJdbcTemplate jdbcTemplate;
public List<String> getAllRecords() {
return jdbcTemplate.queryForObject("select record from my_table", List.class);
}
}
Услуга:
@Service
public class DataService {
@Autowired
private DatabaseDAO database;
public List<String> getDataAsList() {
List<String> out = database.getAllRecords();
out.add("Create New...");
return out;
}
}
И, наконец, контроллер:
@Controller("/index.html")
public class IndexController {
@Autowired
private DataService dataService;
@RequestMapping(method = RequestMethod.GET)
public String doGet(ModelMap modelMap) {
modelMap.put(dataService.getDataAsList());
return "index";
}
}
Я нашел эту статью очень полезной для широкого обзора аннотаций стереотипа, в дополнение к официальной документации .