[SPRING] Spring 설정 파일에서 bean id와 name을 사용하는 차이점
SPRINGSpring 설정 파일에서 bean id와 name을 사용하는 차이점
Spring 구성 파일의
해결법
-
==============================
1.Spring 레퍼런스, 3.2.3.1 Bean 명명하기 :
Spring 레퍼런스, 3.2.3.1 Bean 명명하기 :
따라서 기본적으로 id 속성은 XML id 속성 표준을 따르는 반면 name은 좀 더 유연합니다. 일반적으로 말해서 나는 거의 독점적으로 이름을 사용합니다. 그냥 "봄 - y"더 보인다.
-
==============================
2.Spring 3.1부터 id 속성은 xsd : string이고 name 속성과 같은 문자 범위를 허용합니다.
Spring 3.1부터 id 속성은 xsd : string이고 name 속성과 같은 문자 범위를 허용합니다.
ID와 이름의 유일한 차이점은 이름에는 쉼표, 세미콜론 또는 공백으로 구분 된 여러 별칭을 포함 할 수 있지만 id는 단일 값이어야한다는 것입니다.
Spring 3.2 문서에서 :
-
==============================
3.둘 중 하나가 작동합니다. 필요에 따라 다릅니다. 빈 식별자에 특수 문자 (예 : /viewSummary.html)가 포함되어 있으면 유효한 XML ID가 아니기 때문에 빈 ID로 사용할 수 없습니다. 이 경우 빈 id를 정의하지 않고 bean 이름을 대신 제공 할 수 있습니다. name 속성은 또한 주어진 빈에 대해 여러 개의 식별자를 지정할 수 있기 때문에 빈에 대한 별명을 정의하는 데 도움이됩니다.
둘 중 하나가 작동합니다. 필요에 따라 다릅니다. 빈 식별자에 특수 문자 (예 : /viewSummary.html)가 포함되어 있으면 유효한 XML ID가 아니기 때문에 빈 ID로 사용할 수 없습니다. 이 경우 빈 id를 정의하지 않고 bean 이름을 대신 제공 할 수 있습니다. name 속성은 또한 주어진 빈에 대해 여러 개의 식별자를 지정할 수 있기 때문에 빈에 대한 별명을 정의하는 데 도움이됩니다.
-
==============================
4.ApplicationContext xml에 ID와 name을 정의하는 데 차이가 있습니까? 아니 3.1 (봄)부터 id는 xsd : string 유형으로 정의됩니다. 그것은 이름에서 정의 된 문자가 모두 ID에서도 허용된다는 것을 의미합니다. 이것은 Spring 3.1 이전에는 불가능했습니다.
ApplicationContext xml에 ID와 name을 정의하는 데 차이가 있습니까? 아니 3.1 (봄)부터 id는 xsd : string 유형으로 정의됩니다. 그것은 이름에서 정의 된 문자가 모두 ID에서도 허용된다는 것을 의미합니다. 이것은 Spring 3.1 이전에는 불가능했습니다.
Id와 같은 경우 이름을 사용하는 이유는 무엇입니까? 응용 프로그램의 각 구성 요소가 해당 구성 요소 자체에 고유 한 bean 이름을 사용하여 공통 종속성을 참조하도록 허용하는 것과 같은 일부 상황에 유용합니다.
For example, the configuration metadata for subsystem A may refer to a DataSource via the name subsystemA-dataSource. The configuration metadata for subsystem B may refer to a DataSource via the name subsystemB-dataSource. When composing the main application that uses both these subsystems the main application refers to the DataSource via the name myApp-dataSource. To have all three names refer to the same object you add to the MyApp configuration metadata the following <bean id="myApp-dataSource" name="subsystemA-dataSource,subsystemB-dataSource" ..../> Alternatively, You can have separate xml configuration files for each sub-system and then you can make use of alias to define your own names. <alias name="subsystemA-dataSource" alias="subsystemB-dataSource"/> <alias name="subsystemA-dataSource" alias="myApp-dataSource" />
from https://stackoverflow.com/questions/874505/difference-between-using-bean-id-and-name-in-spring-configuration-file by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 내 비즈니스 계층에 EJB3 또는 Spring을 사용해야합니까? (0) | 2018.12.28 |
---|---|
[SPRING] @Transactional을 Spring 데이터와 함께 사용하는 방법? (0) | 2018.12.28 |
[SPRING] Spring BeanPostProcessor는 정확히 어떻게 작동합니까? (0) | 2018.12.28 |
[SPRING] 최대 절전 모드 + 스프링 캐싱 - 몇 가지 질문! (0) | 2018.12.28 |
[SPRING] Spring 3와 함께 REST에서 로그인 / 로그 아웃 (0) | 2018.12.28 |