You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: spring.md
+6-54Lines changed: 6 additions & 54 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -229,7 +229,6 @@ Dispatcher-servlet-diagram
229
229
@Service указывает, что класс является сервисом для реализации бизнес логики (на самом деле не отличается от Component, но просто помогает разработчику указать смысловую нагрузку класса).
230
230
231
231
Для указания контейнеру на класс-бин можно использовать любую из этих аннотаций. Но различные имена позволяют различать назначение того или иного класса.
232
-
233
232
### 22. Расскажите, что вы знаете о DispatcherServlet и ContextLoaderListener.
234
233
DispatcherServlet – сервлет диспетчера. Этот сервлет анализирует запросы и направляет их соответствующему контроллеру для обработки. В Spring MVC класс DispatcherServlet является центральным сервлетом, который получает запросы и направляет их соответствующим контроллерам. В приложении Spring MVC может существовать произвольное количество экземпляров DispatcherServlet, предназначенных для разных целей (например, для обработки запросов пользовательского интерфейса, запросов веб-служб REST и т.д.). Каждый экземпляр DispatcherServlet имеет собственную конфигурацию WebApplicationContext, которая определяет характеристики уровня сервлета, такие как контроллеры, поддерживающие сервлет, отображение обработчиков, распознавание представлений, интернационализация, оформление темами, проверка достоверности, преобразование типов и форматирование и т.п.
235
234
@@ -252,6 +251,7 @@ ContextLoaderListener – слушатель при старте и заверш
ViewResolver – распознаватель представлений. Интерфейс ViewResolver в Spring MVC (из пакета org.springframework.web.servlet) поддерживает распознавание представлений на основе логического имени, возвращаемого контроллером. Для поддержки различных механизмов распознавания представлений предусмотрено множество классов реализации. Например, класс UrlBasedViewResolver поддерживает прямое преобразование логических имен в URL. Класс ContentNegotiatingViewResolver поддерживает динамическое распознавание представлений в зависимости от типа медиа, поддерживаемого клиентом (XML, PDF, JSON и т.д.). Существует также несколько реализаций для интеграции с различными технологиями представлений, такими как FreeMarker (FreeMarkerViewResolver), Velocity (VelocityViewResolver) и JasperReports (JasperReportsViewResolver).
InternalResourceViewResolver – реализация ViewResolver, которая позволяет находить представления, которые возвращает контроллер для последующего перехода к нему. Ищет по заданному пути, префиксу, суффиксу и имени.
274
268
275
269
Дополнительная информация – Spring MVC — описание интерфейса ViewResolver.
276
270
277
271
### 24. Что такое MultipartResolver и когда его использовать?
278
272
Интерфейс MultipartResolver используется для загрузки файлов. Существуют две реализации: CommonsMultipartResolver и StandardServletMultipartResolver, которые позволяют фреймворку загружать файлы. По умолчанию этот интерфейс не включается в приложении и необходимо указывать его в файле конфигурации. После настройки любой запрос о загрузке будет отправляться этому интерфейсу.
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
591
-
592
-
Object[] args = new Object[] {employee.getId(), employee.getName(), employee.getRole()};
593
-
594
-
int out = jdbcTemplate.update(query, args);
595
-
596
-
if(out !=0){
597
-
System.out.println("Employee saved with id="+employee.getId());
598
-
}else System.out.println("Employee save failed with id="+employee.getId());
599
-
}
600
554
601
555
@Override
602
556
public void save(Employee employee) {
@@ -612,17 +566,15 @@ spring.xml:
612
566
System.out.println("Employee saved with id="+employee.getId());
613
567
}else System.out.println("Employee save failed with id="+employee.getId());
614
568
}
569
+
615
570
### 38. Как использовать Tomcat JNDI DataSource в веб-приложении Spring?
616
571
Для использования контейнера сервлетов настроенного на использование JNDI DataSource, необходимо задать соответствующее свойство в файле конфигурации и затем внедрять его как зависимость. Далее мы можем использовать объект JdbcTemplate для выполнения операций с базами данных.
39. Каким образом можно управлять транзакциями в Spring?
577
+
### 39. Каким образом можно управлять транзакциями в Spring?
626
578
Транзакциями в Spring управляют с помощью Declarative Transaction Management (программное управление). Используется аннотация @Transactional для описания необходимости управления транзакцией. В файле конфигурации нужно добавить настройку transactionManager для DataSource.
0 commit comments