Spring Framework Guide: различия между версиями

Содержимое удалено Содержимое добавлено
Новая страница: «= Аннотации = @Component - Аннотация для любого компонента фреймворка. @Service - (Сервис-слой прил…»
 
Нет описания правки
Строка 1:
= Аннотации =
 
'''@Component''' - Аннотация для любого компонента фреймворка.
 
'''@Service''' - (Сервис-слой приложения) Аннотация обьявляющая, что этот класс представляет собой сервис – компонент сервис-слоя. Сервис является подтипом класса @Component. Использование данной аннотации позволит искать бины-сервисы автоматически.
 
Сервис является подтипом класса @Component. Использование данной аннотации позволит искать бины-сервисы автоматически.
@Repository - Аннотация показывает, что класс функционирует как репозиторий и требует наличия прозрачной трансляции исключений. Преимуществом трансляции исключений является то, что слой сервиса будет иметь дело с общей иерархией исключений от Spring (DataAccessException) вне зависимости от используемых технологий доступа к данным в слое данных.
 
'''@Repository''' - (Доменный слой) Аннотация показывает, что класс функционирует как репозиторий и требует наличия прозрачной трансляции исключений. Преимуществом трансляции исключений является то, что слой сервиса будет иметь дело с общей иерархией исключений от Spring (DataAccessException) вне зависимости от используемых технологий доступа к данным в слое данных.
@Controller - Аннотация для маркировки java класса как класса контроллера. Данный класс представляет собой компонент, похожий на обычный сервлет (HttpServlet) (работающий с объектами HttpServletRequest и HttpServletResponse), но с расширенными возможностями от Spring Framework.
 
'''@Controller''' - (Слой представления) Аннотация для маркировки java класса, как класса контроллера. Данный класс представляет собой компонент, похожий на обычный сервлет (HttpServlet) (работающий с объектами HttpServletRequest и HttpServletResponse), но с расширенными возможностями от Spring Framework.
 
<source lang="java">
import org.springframework.stereotype.Component;
 
@Component
public class UserBean {
private String userName;
 
public String getUserName() {
return userName;
}
 
public void setUserName(String userName) {
this.userName = userName;
}
}
</source>
 
= Области видимости =
 
= Конфигурация =
 
Контекст приложения(org.springframework.context.ApplicationContext interface):
 
'''FileSystemXmlApplicationContext''': Загружает определения бинов из файла контекста который расположен в файловой системе.
 
'''ClassPathXmlApplicationContext''': Ищет файл контекста в CLASSPATH.
 
'''WebXmlApplicationContext''': Ищет файл контекста в веб приложении.
 
 
<source lang="java">
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
 
public class Main {
public static void main(String[] args) {
String fileName = "spring/appServlet/servlet-context.xml";
ApplicationContext context = new FileSystemXmlApplicationContext("src/main/webapp/WEB-INF/"+fileName);
UserBean bean = (UserBean) context.getBean("userBean");
bean.setUserName("alec");
System.out.println("user:"+bean.getUserName());
}
}
</source>
 
= Шаблоны компонентов =