Spring @Autowired использование

Вместо того, чтобы отражать материал напрямую, вы можете сделать это и использовать strtoupper (который уже был связан Ником):

    $str = "<tr><td>". $row["ID"]. "</td><td>". $row["nome"]. "</td><td>" . $row["cognome"]. "</td><td>" .$row["codicefiscale"]. "</td><td>" .$row["sedelavoro"]. "</td><td>" .$row["datanascita"]. "</td><td>" .$row["lingua"]. "</td><td>" .$row["errori"]. "</td><td>" .$row["risultato"]. "</td><td>" .$row["datatest"]. "</td></tr>";
    echo strtoupper($str);
216
задан java.nazif 3 March 2016 в 02:57
поделиться

3 ответа

В течение долгого времени я полагал, что было значение в наличии "централизовано, декларативно, конфигурация" как XML-файлы, которые все мы раньше использовали. Тогда я понял, что большая часть материала в файлах не была конфигурация - это никогда не изменялось нигде после разработки, никогда. Тогда я понял, что "централизовал", только имеет значение в довольно маленьких системах - только в маленьких системах, будет Вы когда-либо быть в состоянии к grok конфигурационный файл в целом . И каково действительно значение понимания проводного соединения в целом, когда те же "проводки" главным образом дублированы зависимостями в коде? Таким образом, единственной вещью, которую я сохранил, являются метаданные (аннотации), который все еще довольно декларативен. Эти никогда изменение во времени выполнения и они не никогда данные "конфигурации", которые кто-то изменит на лету - таким образом, я буду думать, сохраняя его в коде, хорошо.

я использую полное автопроводное соединение так, как я могу. Я люблю его. Я не вернусь к пружине старого стиля, если не угрожается под дулом пистолета. Мои причины предпочтения полностью @Autowired изменялись со временем.

Прямо сейчас я думаю, что самая важная причина использования автопроводного соединения состоит в том, что существует тот меньше абстракции в Вашей системе для отслеживания. "Бобового имени" эффективно не стало. Оказывается, что боб называет, только существует из-за xml. Таким образом, полного слоя абстрактной косвенности (где Вы соединили бы бобовое имя проводом "нечто" в боб "панель") не стало. Теперь я соединяю интерфейс "Foo" проводом в свой боб непосредственно, и реализация выбрана профилем во время выполнения. Это позволяет мне [1 112] работа с кодом при трассировке зависимостей и реализаций. Когда я вижу автопроводную зависимость в своем коде, я могу просто нажать, "go to implementation" вводят мой IDE, и прибывает список известных реализаций. В большинстве случаев существует всего одна реализация, и я являюсь прямым в класс. Не может быть намного более простым, чем это, и я всегда знаю точно , какая реализация используется (я утверждаю, что противоположное ближе к истине с xml, соединяющим проводом - забавный, как Ваша перспектива изменяется!)

Теперь Вы могли сказать, что это - просто очень простой слой, но каждый слой абстракции, которую мы добавляем к нашим системам увеличение сложность. Я действительно не думаю, что xml когда-либо добавлял любое действительное значение к любой системе, с которой я работал.

Большинство систем у меня есть когда-либо работа с, только имеют один конфигурация производственной среды выполнения. Могут быть другие конфигурации для теста и так далее.

я сказал бы, что полное автопроводное соединение является рубином на направляющих пружины: Это охватывает понятие, что существует шаблон нормального и общего использования, за которым следует большинство вариантов использования. С конфигурацией XML Вы разрешение большое последовательное/непоследовательное использование конфигурации, которое не может быть предназначено. Я видел, что такая конфигурация XML идет за борт с несоответствиями - это становится пересмотренным вместе с кодом? Мысль нет. Те изменения там по причине? Обычно нет.

Мы едва используем спецификаторы в нашей конфигурации и нашли другие способы решить эти ситуации. Это - ясный "недостаток", с которым мы встречаемся: мы немного изменили способ, которым мы кодируем, чтобы заставить его взаимодействовать более гладкий с автопроводным соединением: потребительский репозиторий больше не реализует дженерика Repository<Customer> интерфейс, но мы делаем интерфейс CustomerRepository, который расширяется Repository<Customer>. Иногда существует также прием или два когда дело доходит до разделения на подклассы. Но это обычно просто указывает на нас в направлении более сильного ввода, который я нахожу, почти всегда лучшее решение.

, Но да, Вы связываете с конкретным стилем DI, который главным образом делает пружина. Мы даже не обнародовали методы set для зависимостей больше (Таким образом, Вы могли утверждать, что мы +1 в отделе инкапсуляции/сокрытия информации), у Нас все еще есть некоторый xml в нашей системе, но xml в основном только [1 117] содержат аномалии. Полное автопроводное соединение интегрируется приятно с xml.

единственная вещь, в которой мы нуждаемся теперь, для @Component, @Autowired и остальные, чтобы быть включенной в JSR (как JSR-250), таким образом, мы не должны соединяться с пружиной. Это - способ, которым вещи происходили в прошлом (эти java.util.concurrent, материал приходит на ум), таким образом, я не был бы полностью удивлен, произошло ли это снова.

250
ответ дан Clijsters 23 November 2019 в 04:19
поделиться

Поскольку меня здесь то, что я люблю/не люблю о Spring и автопроводном соединении.

Профессионалы:

  • Автопроводное соединение избавляется от противной конфигурации XML.
  • Намного легче использовать аннотации, который позволяет Вам вводить непосредственно поля использования, методы установщика или конструкторов. Также позволяет Вам аннотировать и 'квалифицировать' свои введенные бобы.

Недостатки:

  • Используя автопроводное соединение и аннотации делает Вас зависящими от библиотек Spring, где как с конфигурацией XML Вы могли, принял решение работать с или без Spring. Как Вы сказал, Вы становитесь связанными с платформой DI.
  • В то же время мне нравится способность 'квалифицировать' бобы, мне это делает код действительно грязным. Если необходимо ввести тот же боб в нескольких местах, я видел то же имя строки, повторенное на всем протяжении. Мне это, кажется, имеет потенциал для ошибок.

я начал использовать автопроводное соединение почти исключительно на работе, потому что мы зависим так от интеграции Spring так или иначе, что проблема зависимости спорна. Я работал над Spring проект MVC, который использовал автопроводное соединение экстенсивно и был немного тверд перенести мою голову.

я думаю, автосоединяя проводом, на любителя, как только Вы привыкаете к нему, Вы понимаете, как мощный, легкий, и намного меньше головной боли это должно работать с, чем конфигурация XML.

26
ответ дан 3 revs, 3 users 79% 23 November 2019 в 04:19
поделиться

Я перешел на @Autowire. Поддержание конфигурации XML для чего-либо, кроме небольшого проекта, стало самостоятельной задачей, и понимание быстро ухудшилось.

IntelliJ обеспечивает хорошую (не идеальную) поддержку аннотаций Spring.

4
ответ дан 23 November 2019 в 04:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: