Различие между использованием бобового идентификатора и именем в конфигурационном файле Spring

В красноречивых моделях уже есть конструктор. Я бы не рекомендовал перезаписывать это для добавления пользовательских функций.

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

public function setRequest()
{
    $this->request = request();

    return $this;
}

Это позволит вам либо установить запрос вручную, передав ему экземпляр, либо Laravel автоматически разрешит его из своего контейнера.

В вашем контроллере или где-то еще вы можете сделать что-то вроде:

$model = (new App\Models\Conference_list())->setRequest();
198
задан Duncan Jones 3 January 2014 в 01:44
поделиться

2 ответа

Из ссылки Spring , 3.2.3.1 Именование компонентов :

Каждый компонент имеет один или несколько идентификаторов (также названные идентификаторы или имена; эти термины относятся к одному и тому же). Эти идентификаторы должны быть уникальными в пределах контейнер, в котором находится компонент. A bean почти всегда будет только один id, но если у bean-компонента более одного id, дополнительные могут быть считаются псевдонимами.

При использовании конфигурации на основе XML метаданные, вы используете 'id' или 'name' атрибуты для указания bean-компонента Идентификатор (ы). Атрибут id позволяет указать ровно один идентификатор, и поскольку это реальный идентификатор элемента XML атрибут, синтаксический анализатор XML может сделайте дополнительную проверку, когда другие элементы ссылаются на идентификатор; как таковой, это - предпочтительный способ указать bean-компонент мне бы. Однако спецификация XML ограничивает символы, которые допустимо в XML-идентификаторах. Обычно это не так ограничение, но если у вас есть потребность использовать один из этих специальных XML персонажей, или хотите представить других псевдонимы bean-компонента, вы также можете или вместо этого укажите один или несколько идентификаторов bean-компонентов, разделенные запятой (,), точкой с запятой (;) или пробел в "имени" атрибут.

Таким образом, в основном атрибут id соответствует стандартам атрибутов XML id, тогда как name немного более гибкий. Вообще говоря, я использую исключительно имя . Это просто кажется более "весенним".

129
ответ дан 23 November 2019 в 05:12
поделиться

Любой из них будет работать. Это зависит от ваших потребностей:
Если ваш идентификатор компонента содержит специальный символ (символы), например ( /viewSummary.html ), он не будет разрешен в качестве идентификатора компонента , потому что это недопустимый идентификатор XML. В таких случаях вы можете пропустить определение bean id и вместо этого указать bean name .
Атрибут name также помогает определить псевдоним es для вашего bean-компонента, поскольку он позволяет указать несколько идентификаторов для данного bean-компонента.

47
ответ дан 23 November 2019 в 05:12
поделиться
Другие вопросы по тегам:

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