Зачем нужны аннотации в Spring?

160
03 апреля 2019, 08:10

Начал разбираться с этим фреймворком и хотелось бы узнать вот что:

  1. Почему мы подписываем некоторые элементы кода с помощью @SpringApplication например? Что будет если убрать эти аннотации. Что от этого поменяется? (Раньше пользовался этим только для того чтобы переопределять методы @Override, но там это было как-то понятно и особо не влияло).
  2. Где именно хранятся базы данных, которые мы используем для разработки приложений? Ясное дело в памяти компьютера, но как приложение определяет откуда оно будет их брать и опять же, почему это работает?
  3. Следствие из второго вопроса: если я например укажу в MySQL workbench подключение к серверу на котором стоит приложение(localhost:8080) и создам новую БД, то этого будет достаточно чтобы получить к ней доступ и использовать в дальнейшем в приложении?
Answer 1
  1. Вы наверно имели ввиду аннотацию @SpringBootApplication, которая ставиться над классом, а в psvm вы уже запускаете SpringApplication.run(Application.class). Например эта аннотация нужна, чтобы рефлексийно определить класс, в котором есть точка доступа в приложение. Например аннотации @Component, @Service, @Repository и @Controller нужны для того, чтобы определить классы, объекты которых будут beans.
  2. Базы данных могут храниться на том же сервере где и хранится приложение, а так же и на удаленном отдельном сервере. Подключение зависит от того, какой вы способ выбрали(JDBC, Spring JDBC, Hibernate, Spring Data JPA). Например в приложение, где используется SpringBoot вам можно настроить все в application.properties и все будет работать.
  3. Да, достаточно создать базу данных и указать правильный url к ней в приложении, и этого будет достаточно. Но для правильного взаимодействия вам нужно будет настроить еще поддержку версионности базы данных, например flyway.
READ ALSO
TensorFlow - создание модели для обучения (.pb) распознавания речи и преобразования в текст

TensorFlow - создание модели для обучения (.pb) распознавания речи и преобразования в текст

помогите пожалуйста разобраться с TensorFlowМне нужно создать Android приложение для распознавания команд управления, но сделать это нужно с использованием...

151
Formatter не работает через сокеты

Formatter не работает через сокеты

Если создать Formatter из сокетного OutputStream-a, тоformat() не отрабатывает как ожидается:

184
SpringLiquibase работа с ресурсами

SpringLiquibase работа с ресурсами

В моем проекте есть тестовый модуль, и модули-pojo с hibernate entity классами

189
Нарисовать овальный SeekBar с ограничениями

Нарисовать овальный SeekBar с ограничениями

Розовая область: по этой области овал должен двигаться по вертикалиБелый шарик должен перетаскиваться по нижней линии овала

147