Проект

Общее

Профиль

JWW-SpringFramework » История » Версия 35

Александр Александров, 29.01.2022 18:07

1 17 Александр Александров
h1. Spring Framework/Spring Boot, Java EE, OSGi
2 1 Александр Александров
3
h2. Описание
4
5
*Spring Framework*<notextile></notextile> (или коротко <notextile></notextile>*Spring*<notextile></notextile>) — универсальный <notextile></notextile>"фреймворк (Фреймворк)":https://ru.wikipedia.org/wiki/%D0%A4%D1%80%D0%B5%D0%B9%D0%BC%D0%B2%D0%BE%D1%80%D0%BA<notextile></notextile> <notextile></notextile>"с открытым исходным кодом (Открытое программное обеспечение)":https://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5<notextile></notextile> для <notextile></notextile>"Java (Java)":https://ru.wikipedia.org/wiki/Java<notextile></notextile>-платформы. Также существует <notextile></notextile>"форк (Форк)":https://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D0%BA<notextile></notextile> для платформы <notextile></notextile>".NET Framework (.NET Framework)":https://ru.wikipedia.org/wiki/.NET_Framework<notextile></notextile>, названный Spring.NET
6
7
Первая версия была написана <notextile></notextile>"Родом Джонсоном (Джонсон, Род (страница отсутствует))":https://ru.wikipedia.org/w/index.php?title=%D0%94%D0%B6%D0%BE%D0%BD%D1%81%D0%BE%D0%BD,_%D0%A0%D0%BE%D0%B4&action=edit&redlink=1<notextile></notextile>, который впервые опубликовал её вместе с изданием своей книги «Expert One-on-One Java EE Design and Development»
8
9
Фреймворк был впервые выпущен под лицензией <notextile></notextile>"Apache 2.0 license (Apache License)":https://ru.wikipedia.org/wiki/Apache_License<notextile></notextile> в июне 2003 года. Первая стабильная версия 1.0 была выпущена в марте <notextile></notextile>"2004 (2004)":https://ru.wikipedia.org/wiki/2004<notextile></notextile>. Spring 2.0 был выпущен в октябре 2006, Spring 2.5 — в ноябре 2007, Spring 3.0 в декабре 2009, и Spring 3.1 в декабре 2011. Текущая версия — 5.2.4.
10
11
Несмотря на то, что Spring не обеспечивал какую-либо конкретную модель программирования, он стал широко распространённым в Java-сообществе главным образом как альтернатива и замена модели <notextile></notextile>"Enterprise JavaBeans (EJB)":https://ru.wikipedia.org/wiki/EJB<notextile></notextile>. Spring предоставляет бо́льшую свободу Java-разработчикам в проектировании; кроме того, он предоставляет хорошо документированные и лёгкие в использовании средства решения проблем, возникающих при создании приложений корпоративного масштаба.
12
13
*Spring Boot*<notextile></notextile> - это проект, построенный по принципу convention-over-configuration (соглашения по конфигурации), призванный упросить создание приложений на базе <notextile></notextile>"Spring Framework (Spring Framework)":https://ru.bmstu.wiki/Spring_Framework<notextile></notextile>. Решение предварительно настроено командой разработчиков с учётом использования платформы Spring и сторонних библиотек.
14
15
h2. SpringBoot Actuator
16
17
h3. Описание
18
19
*Spring Actuator*<notextile></notextile>, а если быть точным то *Spring Boot Actuator* — это подпроект Spring Boot. Он позволяет разработчику следить за состоянием своего приложение с минимальным вложением со стороны разработчика. В спринг актуатор входит множество ендпоинтов, которые Вы как разработчик можете вызвать и посмотреть различную статистику по своему веб приложению в реальном времени. От Вас ничего, кроме как подключить библиотеку не требуется.
20
21
h3. Общая информация
22
23
# "Spring Boot Actuator":https://www.baeldung.com/spring-boot-actuators
24
# "Введение в Spring Boot Actuator":https://habr.com/ru/company/otus/blog/452624/
25
# "Spring Actuator — для чего и как пользоваться":https://java-master.com/spring-actuator-%D0%B4%D0%BB%D1%8F-%D1%87%D0%B5%D0%B3%D0%BE-%D0%B8-%D0%BA%D0%B0%D0%BA-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%D1%81%D1%8F/
26
# "Building a RESTful Web Service with Spring Boot Actuator":https://spring.io/guides/gs/actuator-service/
27
28
h3. Spring Security и OAuth v2.0
29
30
h4. Описание
31
32
*Spring Security* - это Java/JavaEE framework, предоставляющий механизмы построения систем аутентификации и авторизации, а также другие возможности обеспечения безопасности для корпоративных приложений, созданных с помощью Spring Framework.
33
34
*OAuth*<notextile></notextile> — открытый протокол (схема) <notextile></notextile>"авторизации (Авторизация)":https://ru.wikipedia.org/wiki/%D0%90%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F<notextile></notextile>, который позволяет предоставить третьей стороне ограниченный доступ к защищённым ресурсам пользователя без необходимости передавать ей (третьей стороне) логин и пароль.
35
36
h4. Общая информация
37
38
# "OAuth 2.0 простым и понятным языком":https://habr.com/ru/company/mailru/blog/115163/
39
# "Spring Boot 2 – OAuth2 Auth and Resource Server":https://howtodoinjava.com/spring-boot2/oauth2-auth-server/
40
# "Spring Boot Security Oauth2 Jwt Auth Example":https://www.devglan.com/spring-security/spring-boot-oauth2-jwt-example
41
# "Spring Boot Security OAuth2 Example (Bcrypt Encoder)":https://www.devglan.com/spring-security/spring-boot-security-oauth2-example
42
# "How to use OAuth2RestTemplate?":https://stackoverflow.com/questions/27864295/how-to-use-oauth2resttemplate
43 10 Александр Александров
# "[SOF] Spring security CORS Filter":https://stackoverflow.com/questions/40418441/spring-security-cors-filter
44
# "[SOF] Can you completely disable CORS support in Spring?":https://stackoverflow.com/questions/44697883/can-you-completely-disable-cors-support-in-spring
45
# "Spring Config To Disable CORS Issue In Spring Boot":https://blogs.ashrithgn.com/disable-cors-in-spring-boot/
46
# "How to disable CORS restrictions in Spring Boot App":https://medium.com/@valeryyakovlev/how-to-disable-cors-restrictions-in-spring-boot-app-819158aa3919
47
# "Enabling Cross Origin Requests for a RESTful Web Service":https://spring.io/guides/gs/rest-service-cors/#global-cors-configuration
48 20 Александр Александров
# "Валидация XML с помощью XSD, JAXB и Spring Framework":https://habr.com/ru/post/495282/
49
# "[SOF] How to use spring to marshal and unmarshal xml?":https://stackoverflow.com/questions/44676532/how-to-use-spring-to-marshal-and-unmarshal-xml
50 25 Александр Александров
# "Guide to Spring Retry":https://www.baeldung.com/spring-retry
51
# "Spring retry module example with spring boot":https://howtodoinjava.com/spring-boot2/spring-retry-module/
52
# "How to Use Spring Retry Template":https://examples.javacodegeeks.com/how-to-use-spring-retry-template/
53
# "How to Use Spring Retry":https://dzone.com/articles/how-to-use-spring-retry
54
# "SpringBoot Retry Random Backoff":https://medium.com/@vmoulds01/springboot-retry-random-backoff-136f41a3211a
55 28 Александр Александров
# "[SOF] Handle spring security authentication exceptions with @ExceptionHandler":https://stackoverflow.com/questions/19767267/handle-spring-security-authentication-exceptions-with-exceptionhandler
56
# "[SOF] Changing the login service URL in spring security":https://stackoverflow.com/questions/45996726/changing-the-login-service-url-in-spring-security
57
# "Spring Security combat dry goods: custom exception handling":https://programmer.group/spring-security-combat-dry-goods-custom-exception-handling.html
58
# "[SOF] Spring security filter authenticates sucessfuly but sends back 403 response":https://stackoverflow.com/questions/44064346/spring-security-filter-authenticates-sucessfuly-but-sends-back-403-response
59
# "[SOF] Catching custom exception thrown from subclass of OncePerRequestFilter in AuthenticationEntryPoint":https://stackoverflow.com/questions/56449140/catching-custom-exception-thrown-from-subclass-of-onceperrequestfilter-in-authen
60 1 Александр Александров
61
h3. Spring Boot
62
63
# "Как работает Spring Boot Auto-Configuration":https://habr.com/ru/post/487980/
64
# "Spring Boot Profiles Example":https://www.concretepage.com/spring-boot/spring-boot-profiles-example
65
# "Externalized Configuration":https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config
66 2 Александр Александров
# "Externalized Configuration another":https://docs.spring.io/spring-boot/docs/1.4.x/reference/html/boot-features-external-config.html
67 1 Александр Александров
# "Using YAML Instead of Properties":https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-yaml
68
# "Spring Boot @ConfigurationProperties Example":https://www.concretepage.com/spring-boot/spring-boot-configurationproperties
69
# "Guide to @ConfigurationProperties in Spring Boot":https://www.baeldung.com/configuration-properties-in-spring-boot
70
# "Common Application properties":https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html#data-properties
71
# "Resources":https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/resources.html
72
# "Load a Resource as a String in Spring":https://www.baeldung.com/spring-load-resource-as-string
73
# "[SOF] Spring Boot - Reading Text File using ResourceLoader":https://stackoverflow.com/questions/41754712/spring-boot-reading-text-file-using-resourceloader
74
# "Load file from classpath in Spring Boot":https://smarterco.de/java-load-file-from-classpath-in-spring-boot/
75
# "Loading resources in Spring Boot":http://zetcode.com/springboot/loadresource/
76 2 Александр Александров
# "Getting Started With Spring Boot":https://www.dariawan.com/series/getting-started-spring-boot/
77 11 Александр Александров
# "Тонкости использования аннотации @Value в Spring Boot":https://dddpaul.github.io/blog/2015/07/12/spring-boot-value/
78
# "Spring Boot @ConfigurationProperties example":https://mkyong.com/spring-boot/spring-boot-configurationproperties-example/
79
# "Настройка приложения — Spring Configuration Metadata":https://habr.com/ru/post/430256/
80 13 Александр Александров
# "[SOF] Call paginated REST request in spring boot":https://stackoverflow.com/questions/59892564/call-paginated-rest-request-in-spring-boot
81
# "REST Pagination in Spring":https://www.baeldung.com/rest-api-pagination-in-spring
82 15 Александр Александров
# "[SOF] How to use LocalDateTime RequestParam in Spring? I get “Failed to convert String to LocalDateTime”":https://stackoverflow.com/questions/40274353/how-to-use-localdatetime-requestparam-in-spring-i-get-failed-to-convert-string
83 16 Александр Александров
# "How to Define a Spring Boot Filter?":https://www.baeldung.com/spring-boot-add-filter
84 21 Александр Александров
# "Руководство Spring Boot и FreeMarker":https://betacode.net/11547/spring-boot-and-freemarker
85
# "Spring Boot Freemarker Email Template, easy in 5 minutes":https://javabycode.com/sf/spring-boot-tutorial/spring-boot-freemarker-email-template.html
86 23 Александр Александров
# "Валидация DTO в Spring Boot":https://code4fun.ru/programming/spring-boot-dto-validation.html
87
# "Validation in Spring Boot":https://www.baeldung.com/spring-boot-bean-validation
88 30 Александр Александров
# "Создание пула потоков Spring Boot, шаги по настройке @Async и меры предосторожности":https://russianblogs.com/article/88281652556/
89
# "Spring Boot: создание асинхронных методов с использованием аннотации @Async":https://coderlessons.com/articles/java/spring-boot-sozdanie-asinkhronnykh-metodov-s-ispolzovaniem-annotatsii-async
90
# "Creating Asynchronous Methods":https://spring.io/guides/gs/async-method/
91
# "Spring @Async rest controller example – Spring @EnableAsync":https://howtodoinjava.com/spring-boot2/rest/enableasync-async-controller/
92 1 Александр Александров
93 33 Александр Александров
h3. Spring RestTemplate and WebClient
94 1 Александр Александров
95
# "Download file with RestTemplate":https://www.leveluplunch.com/java/tutorials/038-retrieve-file-spring-resttemplate/
96
# "Spring RestTemplate GET with parameters":https://stackoverflow.com/questions/8297215/spring-resttemplate-get-with-parameters
97
# "Spring RestTemplate Error Handling":https://www.baeldung.com/spring-rest-template-error-handling
98
# "Uploading a file with a filename with Spring RestTemplate":https://medium.com/red6-es/uploading-a-file-with-a-filename-with-spring-resttemplate-8ec5e7dc52ca
99
# "Uploading MultipartFile with Spring RestTemplate":https://www.baeldung.com/spring-rest-template-multipart-upload
100
# "Using the Spring RestTemplate Interceptor":https://www.baeldung.com/spring-rest-template-interceptor
101
# "Spring ClientHttpRequestInterceptor with RestTemplate":https://howtodoinjava.com/spring-boot2/resttemplate/clienthttprequestinterceptor/
102 3 Александр Александров
# "Тестирование REST API с помощью TestRestTemplate":https://sysout.ru/testirovanie-spring-boot-prilozheniya-s-testresttemplate/
103
# "Get and Post Lists of Objects with RestTemplate":https://www.baeldung.com/spring-rest-template-list
104
# "RESTFUL WEB SERVICES INTEGRATION TESTING WITH SPRING BOOT":https://www.bytestree.com/spring/restful-web-services-integration-testing-spring-boot/
105 22 Александр Александров
# "How to Read HTTP Headers in Spring REST Controllers":https://www.baeldung.com/spring-rest-http-headers
106 26 Александр Александров
# "Logbook: HTTP request and response logging":https://github.com/zalando/logbook
107 1 Александр Александров
# "Spring Boot REST API Validation + Globally Error Handling Tutorial with Example":https://hellokoding.com/spring-boot-rest-api-validation-tutorial-with-example/
108 32 Александр Александров
# "Шпаргалка по Spring Boot WebClient":https://habr.com/ru/company/otus/blog/541404/
109 34 Александр Александров
# "[SOF] How to set base url and query parameters for WebClient?":https://stackoverflow.com/questions/59751396/how-to-set-base-url-and-query-parameters-for-webclient
110
# "Introduction to Spring WebClient":https://www.amitph.com/introduction-to-spring-webclient/
111
# "Consuming Async REST APIs with Spring WebClient":https://howtodoinjava.com/spring-webflux/webclient-get-post-example/
112
# "Spring 5 WebClient":https://www.baeldung.com/spring-5-webclient
113
# "Spring Web Client Exception Handling":https://medium.com/a-developers-odyssey/spring-web-client-exception-handling-cd93cf05b76
114
# "Spring Webclient retry and execute a code if all retries are exhausted":https://stackoverflow.com/questions/61047452/spring-webclient-retry-and-execute-a-code-if-all-retries-are-exhausted
115
# "Guide to Retry in Spring WebFlux":https://www.baeldung.com/spring-webflux-retry
116
# "[SOF] WebClient request level timeout Throws Operator called default onErrorDropped":https://stackoverflow.com/questions/56933263/webclient-request-level-timeout-throws-operator-called-default-onerrordropped
117
# "оператор вызвал ошибку по умолчанию onerrordropped» при тайм-ауте mono":https://reddeveloper.ru/questions/operator-vyzval-oshibku-po-umolchaniyu-onerrordropped-pri-taim-aute-mono-JnbDn
118 35 Александр Александров
# "Spring @RequestParam Annotation":https://www.baeldung.com/spring-request-param
119 1 Александр Александров
120
h3. Spring (Boot) Data
121
122
# "Introduction to Spring Data Redis":https://www.baeldung.com/spring-data-redis-tutorial
123
# "Spring Data Redis":https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/#reference
124
# "Введение в Redis с использованием Spring Boot":https://habr.com/ru/company/otus/blog/463365/
125 6 Александр Александров
# "Spring Data Case Insensitive Search Example":https://www.netsurfingzone.com/jpa/spring-data-case-insensitive-search-example/
126 12 Александр Александров
# "Spring Boot Pagination & Filter example | Spring JPA, Pageable":https://bezkoder.com/spring-boot-pagination-filter-jpa-pageable/
127
# "Paging with Spring Boot":https://reflectoring.io/spring-boot-paging/
128 14 Александр Александров
# "Introduction to Spring Data REST":https://www.baeldung.com/spring-data-rest-intro
129 24 Александр Александров
# "Spring JDBC":https://www.baeldung.com/spring-jdbc-jdbctemplate
130 31 Александр Александров
# "JDBC PreparedStatement – Update a row":https://mkyong.com/jdbc/jdbc-preparestatement-example-update-a-record/
131
# "Spring NamedParameterJdbcTemplate Insert, Update And Delete Example":https://www.netjstech.com/2016/11/insert-update-using-namedparameterjdbctemplate-spring.html
132 5 Александр Александров
133
h2. Java EE
134
135
# "[SOF] javax.validation.ConstraintViolationException":https://stackoverflow.com/questions/22946549/javax-validation-constraintviolationexception
136 7 Александр Александров
# "Проверка данных — Java & Spring Validation":https://habr.com/ru/post/424819/
137
# "Валидация данных при помощи Bean Validation API":https://alexkosarev.name/2018/07/30/bean-validation-api/
138 1 Александр Александров
# "Проверка данных формы с помощью аннотаций (@Size, @Email и др) в Spring MVC":http://www.seostella.com/ru/article/2012/06/21/proverka-dannyh-formy-s-pomoschyu-annotaciy-size-email-i-dr-v-spring-mvc.html
139 17 Александр Александров
140 18 Александр Александров
h2. OSGi, Karaf, Blueprint and etc.
141 1 Александр Александров
142 18 Александр Александров
# "OSGI":https://www.osgi.org/
143 1 Александр Александров
# "Внедряем OSGI на платформе Karaf":https://habr.com/ru/post/435444/
144 18 Александр Александров
# "Обзор ESB-систем ServiceMix и Fuse":https://habr.com/ru/post/311540/
145
# "Использование Spring в OSGi-контейнере":https://habr.com/ru/post/128653/
146 19 Александр Александров
# "OSGi описание, пример":http://java-online.ru/osgi.xhtml
147 29 Александр Александров
148
h2. SOAP, WSDL
149
150
# "Creating a SOAP Web Service with Spring":https://www.baeldung.com/spring-boot-soap-web-service
151
# "Producing a SOAP web service":https://spring.io/guides/gs/producing-web-service/
152
# "How to use spring web services dynamic WSDL generation in spring boot?":https://stackoverflow.com/questions/52479912/how-to-use-spring-web-services-dynamic-wsdl-generation-in-spring-boot
153
# "XSD/XML Schema Generator":https://www.freeformatter.com/xsd-generator.html#ad-output
154
# "How to generate xsd from wsdl":https://stackoverflow.com/questions/23238785/how-to-generate-xsd-from-wsdl
Go to top