При аннотировании класса с помощью @Component это означает, что это Spring Bean и Singleton?



будучи довольно новым для весны у меня есть вопрос об аннотировании класса. При аннотировании класса с помощью @Component означает ли это, что этот класс будет Spring Bean и по умолчанию синглтон?

576   2  

2 ответов:

Да, это верно, @Component - это весенний Боб и Синглтон.

если класс принадлежит к уровню сервиса, вы можете аннотировать его с помощью @Service вместо

но имейте в виду, что для того, чтобы эти аннотации были обнаружены, вам нужно поместить эту строку в applicationContext.xml:

<context:component-scan base-package="com.yourcompany" />

о синглетах-весенние бобы все в одноэлементной области по умолчанию. Единственное, что вы должны иметь в виду, что вы не должны хранить состояние в области переменные (они должны содержать только зависимости). Таким образом, ваше приложение будет потокобезопасным, и вам не потребуется новый экземпляр компонента каждый раз. Другими словами, ваши бобы без гражданства.

по умолчанию - да.

однако, вы можете переопределить это поведение с помощью @Scope Примечание. Например: @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)

Comments

    Ничего не найдено.