JWW-SpringFramework » История » Версия 40
Александр Александров, 19.02.2023 22:08
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 | 36 | Александр Александров | # "Spring 5 WebClient and WebTestClient Tutorial with Examples":https://www.callicoder.com/spring-5-reactive-webclient-webtestclient-examples/ |
120 | 40 | Александр Александров | # "HTTP get with headers using RestTemplate":https://stackoverflow.com/questions/16781680/http-get-with-headers-using-resttemplate |
121 | # "Download a Large File Through a Spring RestTemplate":https://www.baeldung.com/spring-resttemplate-download-large-file |
||
122 | # "Spring application with Gzip compression":https://www.springcloud.io/post/2022-05/resttemplate-gzip/ |
||
123 | 1 | Александр Александров | |
124 | h3. Spring (Boot) Data |
||
125 | |||
126 | # "Introduction to Spring Data Redis":https://www.baeldung.com/spring-data-redis-tutorial |
||
127 | # "Spring Data Redis":https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/#reference |
||
128 | # "Введение в Redis с использованием Spring Boot":https://habr.com/ru/company/otus/blog/463365/ |
||
129 | 6 | Александр Александров | # "Spring Data Case Insensitive Search Example":https://www.netsurfingzone.com/jpa/spring-data-case-insensitive-search-example/ |
130 | 12 | Александр Александров | # "Spring Boot Pagination & Filter example | Spring JPA, Pageable":https://bezkoder.com/spring-boot-pagination-filter-jpa-pageable/ |
131 | # "Paging with Spring Boot":https://reflectoring.io/spring-boot-paging/ |
||
132 | 14 | Александр Александров | # "Introduction to Spring Data REST":https://www.baeldung.com/spring-data-rest-intro |
133 | 24 | Александр Александров | # "Spring JDBC":https://www.baeldung.com/spring-jdbc-jdbctemplate |
134 | 31 | Александр Александров | # "JDBC PreparedStatement – Update a row":https://mkyong.com/jdbc/jdbc-preparestatement-example-update-a-record/ |
135 | # "Spring NamedParameterJdbcTemplate Insert, Update And Delete Example":https://www.netjstech.com/2016/11/insert-update-using-namedparameterjdbctemplate-spring.html |
||
136 | 5 | Александр Александров | |
137 | h2. Java EE |
||
138 | |||
139 | # "[SOF] javax.validation.ConstraintViolationException":https://stackoverflow.com/questions/22946549/javax-validation-constraintviolationexception |
||
140 | 7 | Александр Александров | # "Проверка данных — Java & Spring Validation":https://habr.com/ru/post/424819/ |
141 | # "Валидация данных при помощи Bean Validation API":https://alexkosarev.name/2018/07/30/bean-validation-api/ |
||
142 | 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 |
143 | 17 | Александр Александров | |
144 | 18 | Александр Александров | h2. OSGi, Karaf, Blueprint and etc. |
145 | 1 | Александр Александров | |
146 | 18 | Александр Александров | # "OSGI":https://www.osgi.org/ |
147 | 1 | Александр Александров | # "Внедряем OSGI на платформе Karaf":https://habr.com/ru/post/435444/ |
148 | 18 | Александр Александров | # "Обзор ESB-систем ServiceMix и Fuse":https://habr.com/ru/post/311540/ |
149 | # "Использование Spring в OSGi-контейнере":https://habr.com/ru/post/128653/ |
||
150 | 19 | Александр Александров | # "OSGi описание, пример":http://java-online.ru/osgi.xhtml |
151 | 29 | Александр Александров | |
152 | h2. SOAP, WSDL |
||
153 | |||
154 | # "Creating a SOAP Web Service with Spring":https://www.baeldung.com/spring-boot-soap-web-service |
||
155 | # "Producing a SOAP web service":https://spring.io/guides/gs/producing-web-service/ |
||
156 | # "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 |
||
157 | # "XSD/XML Schema Generator":https://www.freeformatter.com/xsd-generator.html#ad-output |
||
158 | # "How to generate xsd from wsdl":https://stackoverflow.com/questions/23238785/how-to-generate-xsd-from-wsdl |