Project

General

Profile

JWW-SpringFramework » History » Revision 42

Revision 41 (Александр Александров, 02/19/2023 10:12 PM) → Revision 42/44 (Александр Александров, 04/13/2023 12:19 AM)

h1. Spring Framework/Spring Boot, Java EE, OSGi 

 h2. Описание 

 *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 

 Первая версия была написана <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» 

 Фреймворк был впервые выпущен под лицензией <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. 

 Несмотря на то, что Spring не обеспечивал какую-либо конкретную модель программирования, он стал широко распространённым в Java-сообществе главным образом как альтернатива и замена модели <notextile></notextile>"Enterprise JavaBeans (EJB)":https://ru.wikipedia.org/wiki/EJB<notextile></notextile>. Spring предоставляет бо́льшую свободу Java-разработчикам в проектировании; кроме того, он предоставляет хорошо документированные и лёгкие в использовании средства решения проблем, возникающих при создании приложений корпоративного масштаба. 

 *Spring Boot*<notextile></notextile> - это проект, построенный по принципу convention-over-configuration (соглашения по конфигурации), призванный упросить создание приложений на базе <notextile></notextile>"Spring Framework (Spring Framework)":https://ru.bmstu.wiki/Spring_Framework<notextile></notextile>. Решение предварительно настроено командой разработчиков с учётом использования платформы Spring и сторонних библиотек. 

 h2. SpringBoot Actuator 

 h3. Описание 

 *Spring Actuator*<notextile></notextile>, а если быть точным то *Spring Boot Actuator* — это подпроект Spring Boot. Он позволяет разработчику следить за состоянием своего приложение с минимальным вложением со стороны разработчика. В спринг актуатор входит множество ендпоинтов, которые Вы как разработчик можете вызвать и посмотреть различную статистику по своему веб приложению в реальном времени. От Вас ничего, кроме как подключить библиотеку не требуется. 

 h3. Общая информация 

 # "Spring Boot Actuator":https://www.baeldung.com/spring-boot-actuators 
 # "Введение в Spring Boot Actuator":https://habr.com/ru/company/otus/blog/452624/ 
 # "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/ 
 # "Building a RESTful Web Service with Spring Boot Actuator":https://spring.io/guides/gs/actuator-service/ 

 h3. Spring Security и OAuth v2.0 

 h4. Описание 

 *Spring Security* - это Java/JavaEE framework, предоставляющий механизмы построения систем аутентификации и авторизации, а также другие возможности обеспечения безопасности для корпоративных приложений, созданных с помощью Spring Framework. 

 *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>, который позволяет предоставить третьей стороне ограниченный доступ к защищённым ресурсам пользователя без необходимости передавать ей (третьей стороне) логин и пароль. 

 h4. Общая информация 

 # "OAuth 2.0 простым и понятным языком":https://habr.com/ru/company/mailru/blog/115163/ 
 # "Spring Boot 2 – OAuth2 Auth and Resource Server":https://howtodoinjava.com/spring-boot2/oauth2-auth-server/ 
 # "Spring Boot Security Oauth2 Jwt Auth Example":https://www.devglan.com/spring-security/spring-boot-oauth2-jwt-example 
 # "Spring Boot Security OAuth2 Example (Bcrypt Encoder)":https://www.devglan.com/spring-security/spring-boot-security-oauth2-example 
 # "How to use OAuth2RestTemplate?":https://stackoverflow.com/questions/27864295/how-to-use-oauth2resttemplate 
 # "[SOF] Spring security CORS Filter":https://stackoverflow.com/questions/40418441/spring-security-cors-filter 
 # "[SOF] Can you completely disable CORS support in Spring?":https://stackoverflow.com/questions/44697883/can-you-completely-disable-cors-support-in-spring 
 # "Spring Config To Disable CORS Issue In Spring Boot":https://blogs.ashrithgn.com/disable-cors-in-spring-boot/ 
 # "How to disable CORS restrictions in Spring Boot App":https://medium.com/@valeryyakovlev/how-to-disable-cors-restrictions-in-spring-boot-app-819158aa3919 
 # "Enabling Cross Origin Requests for a RESTful Web Service":https://spring.io/guides/gs/rest-service-cors/#global-cors-configuration 
 # "Валидация XML с помощью XSD, JAXB и Spring Framework":https://habr.com/ru/post/495282/ 
 # "[SOF] How to use spring to marshal and unmarshal xml?":https://stackoverflow.com/questions/44676532/how-to-use-spring-to-marshal-and-unmarshal-xml 
 # "Guide to Spring Retry":https://www.baeldung.com/spring-retry 
 # "Spring retry module example with spring boot":https://howtodoinjava.com/spring-boot2/spring-retry-module/ 
 # "How to Use Spring Retry Template":https://examples.javacodegeeks.com/how-to-use-spring-retry-template/ 
 # "How to Use Spring Retry":https://dzone.com/articles/how-to-use-spring-retry 
 # "SpringBoot Retry Random Backoff":https://medium.com/@vmoulds01/springboot-retry-random-backoff-136f41a3211a 
 # "[SOF] Handle spring security authentication exceptions with @ExceptionHandler":https://stackoverflow.com/questions/19767267/handle-spring-security-authentication-exceptions-with-exceptionhandler 
 # "[SOF] Changing the login service URL in spring security":https://stackoverflow.com/questions/45996726/changing-the-login-service-url-in-spring-security 
 # "Spring Security combat dry goods: custom exception handling":https://programmer.group/spring-security-combat-dry-goods-custom-exception-handling.html 
 # "[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 
 # "[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 

 h3. Spring Boot 

 # "Как работает Spring Boot Auto-Configuration":https://habr.com/ru/post/487980/ 
 # "Spring Boot Profiles Example":https://www.concretepage.com/spring-boot/spring-boot-profiles-example 
 # "Externalized Configuration":https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config 
 # "Externalized Configuration another":https://docs.spring.io/spring-boot/docs/1.4.x/reference/html/boot-features-external-config.html 
 # "Using YAML Instead of Properties":https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-yaml 
 # "Spring Boot @ConfigurationProperties Example":https://www.concretepage.com/spring-boot/spring-boot-configurationproperties 
 # "Guide to @ConfigurationProperties in Spring Boot":https://www.baeldung.com/configuration-properties-in-spring-boot 
 # "Common Application properties":https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html#data-properties 
 # "Resources":https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/resources.html 
 # "Load a Resource as a String in Spring":https://www.baeldung.com/spring-load-resource-as-string 
 # "[SOF] Spring Boot - Reading Text File using ResourceLoader":https://stackoverflow.com/questions/41754712/spring-boot-reading-text-file-using-resourceloader 
 # "Load file from classpath in Spring Boot":https://smarterco.de/java-load-file-from-classpath-in-spring-boot/ 
 # "Loading resources in Spring Boot":http://zetcode.com/springboot/loadresource/ 
 # "Getting Started With Spring Boot":https://www.dariawan.com/series/getting-started-spring-boot/ 
 # "Тонкости использования аннотации @Value в Spring Boot":https://dddpaul.github.io/blog/2015/07/12/spring-boot-value/ 
 # "Spring Boot @ConfigurationProperties example":https://mkyong.com/spring-boot/spring-boot-configurationproperties-example/ 
 # "Настройка приложения — Spring Configuration Metadata":https://habr.com/ru/post/430256/ 
 # "[SOF] Call paginated REST request in spring boot":https://stackoverflow.com/questions/59892564/call-paginated-rest-request-in-spring-boot 
 # "REST Pagination in Spring":https://www.baeldung.com/rest-api-pagination-in-spring 
 # "[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 
 # "How to Define a Spring Boot Filter?":https://www.baeldung.com/spring-boot-add-filter 
 # "Руководство Spring Boot и FreeMarker":https://betacode.net/11547/spring-boot-and-freemarker 
 # "Spring Boot Freemarker Email Template, easy in 5 minutes":https://javabycode.com/sf/spring-boot-tutorial/spring-boot-freemarker-email-template.html 
 # "Валидация DTO в Spring Boot":https://code4fun.ru/programming/spring-boot-dto-validation.html 
 # "Validation in Spring Boot":https://www.baeldung.com/spring-boot-bean-validation 
 # "Создание пула потоков Spring Boot, шаги по настройке @Async и меры предосторожности":https://russianblogs.com/article/88281652556/ 
 # "Spring Boot: создание асинхронных методов с использованием аннотации @Async":https://coderlessons.com/articles/java/spring-boot-sozdanie-asinkhronnykh-metodov-s-ispolzovaniem-annotatsii-async 
 # "Creating Asynchronous Methods":https://spring.io/guides/gs/async-method/ 
 # "Spring @Async rest controller example – Spring @EnableAsync":https://howtodoinjava.com/spring-boot2/rest/enableasync-async-controller/ 
 # "Introduction to Spring Cloud OpenFeign":https://www.baeldung.com/spring-cloud-openfeign 

 h3. Spring RestTemplate and WebClient 

 # "Download file with RestTemplate":https://www.leveluplunch.com/java/tutorials/038-retrieve-file-spring-resttemplate/ 
 # "Spring RestTemplate GET with parameters":https://stackoverflow.com/questions/8297215/spring-resttemplate-get-with-parameters 
 # "Spring RestTemplate Error Handling":https://www.baeldung.com/spring-rest-template-error-handling 
 # "Uploading a file with a filename with Spring RestTemplate":https://medium.com/red6-es/uploading-a-file-with-a-filename-with-spring-resttemplate-8ec5e7dc52ca 
 # "Uploading MultipartFile with Spring RestTemplate":https://www.baeldung.com/spring-rest-template-multipart-upload 
 # "Using the Spring RestTemplate Interceptor":https://www.baeldung.com/spring-rest-template-interceptor 
 # "Spring ClientHttpRequestInterceptor with RestTemplate":https://howtodoinjava.com/spring-boot2/resttemplate/clienthttprequestinterceptor/ 
 # "Тестирование REST API с помощью TestRestTemplate":https://sysout.ru/testirovanie-spring-boot-prilozheniya-s-testresttemplate/ 
 # "Get and Post Lists of Objects with RestTemplate":https://www.baeldung.com/spring-rest-template-list 
 # "RESTFUL WEB SERVICES INTEGRATION TESTING WITH SPRING BOOT":https://www.bytestree.com/spring/restful-web-services-integration-testing-spring-boot/ 
 # "How to Read HTTP Headers in Spring REST Controllers":https://www.baeldung.com/spring-rest-http-headers 
 # "Logbook: HTTP request and response logging":https://github.com/zalando/logbook 
 # "Spring Boot REST API Validation + Globally Error Handling Tutorial with Example":https://hellokoding.com/spring-boot-rest-api-validation-tutorial-with-example/ 
 # "Шпаргалка по Spring Boot WebClient":https://habr.com/ru/company/otus/blog/541404/ 
 # "[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 
 # "Introduction to Spring WebClient":https://www.amitph.com/introduction-to-spring-webclient/ 
 # "Consuming Async REST APIs with Spring WebClient":https://howtodoinjava.com/spring-webflux/webclient-get-post-example/ 
 # "Spring 5 WebClient":https://www.baeldung.com/spring-5-webclient 
 # "Spring Web Client Exception Handling":https://medium.com/a-developers-odyssey/spring-web-client-exception-handling-cd93cf05b76 
 # "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 
 # "Guide to Retry in Spring WebFlux":https://www.baeldung.com/spring-webflux-retry 
 # "[SOF] WebClient request level timeout Throws Operator called default onErrorDropped":https://stackoverflow.com/questions/56933263/webclient-request-level-timeout-throws-operator-called-default-onerrordropped 
 # "оператор вызвал ошибку по умолчанию onerrordropped» при тайм-ауте mono":https://reddeveloper.ru/questions/operator-vyzval-oshibku-po-umolchaniyu-onerrordropped-pri-taim-aute-mono-JnbDn 
 # "Spring @RequestParam Annotation":https://www.baeldung.com/spring-request-param 
 # "Spring 5 WebClient and WebTestClient Tutorial with Examples":https://www.callicoder.com/spring-5-reactive-webclient-webtestclient-examples/ 
 # "HTTP get with headers using RestTemplate":https://stackoverflow.com/questions/16781680/http-get-with-headers-using-resttemplate 
 # "Download a Large File Through a Spring RestTemplate":https://www.baeldung.com/spring-resttemplate-download-large-file 
 # "Spring application with Gzip compression":https://www.springcloud.io/post/2022-05/resttemplate-gzip/ 
 # "Multipart file upload with RestTemplate":https://www.javacodemonk.com/multipart-file-upload-spring-boot-resttemplate-9f837ffe 
 # "Spring Boot file Upload with Examples":https://springhow.com/spring-boot-file-upload-with-examples/ 
 # "Spring Boot File upload example with Multipart File":https://www.bezkoder.com/spring-boot-file-upload/ 
 # "How can I receive multipart/form-data in Spring MVC Controller?":https://stackoverflow.com/questions/57802148/how-can-i-receive-multipart-form-data-in-spring-mvc-controller 
 # "Uploading MultipartFile with Spring RestTemplate":https://www.baeldung.com/spring-rest-template-multipart-upload 

 h3. Spring (Boot) Data 

 # "Introduction to Spring Data Redis":https://www.baeldung.com/spring-data-redis-tutorial 
 # "Spring Data Redis":https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/#reference 
 # "Введение в Redis с использованием Spring Boot":https://habr.com/ru/company/otus/blog/463365/ 
 # "Spring Data Case Insensitive Search Example":https://www.netsurfingzone.com/jpa/spring-data-case-insensitive-search-example/ 
 # "Spring Boot Pagination & Filter example | Spring JPA, Pageable":https://bezkoder.com/spring-boot-pagination-filter-jpa-pageable/ 
 # "Paging with Spring Boot":https://reflectoring.io/spring-boot-paging/ 
 # "Introduction to Spring Data REST":https://www.baeldung.com/spring-data-rest-intro 
 # "Spring JDBC":https://www.baeldung.com/spring-jdbc-jdbctemplate 
 # "JDBC PreparedStatement – Update a row":https://mkyong.com/jdbc/jdbc-preparestatement-example-update-a-record/ 
 # "Spring NamedParameterJdbcTemplate Insert, Update And Delete Example":https://www.netjstech.com/2016/11/insert-update-using-namedparameterjdbctemplate-spring.html 

 h2. Java EE 

 # "[SOF] javax.validation.ConstraintViolationException":https://stackoverflow.com/questions/22946549/javax-validation-constraintviolationexception 
 # "Проверка данных — Java & Spring Validation":https://habr.com/ru/post/424819/ 
 # "Валидация данных при помощи Bean Validation API":https://alexkosarev.name/2018/07/30/bean-validation-api/ 
 # "Проверка данных формы с помощью аннотаций (@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 

 h2. OSGi, Karaf, Blueprint and etc. 

 # "OSGI":https://www.osgi.org/ 
 # "Внедряем OSGI на платформе Karaf":https://habr.com/ru/post/435444/ 
 # "Обзор ESB-систем ServiceMix и Fuse":https://habr.com/ru/post/311540/ 
 # "Использование Spring в OSGi-контейнере":https://habr.com/ru/post/128653/ 
 # "OSGi описание, пример":http://java-online.ru/osgi.xhtml 

 h2. SOAP, WSDL 

 # "Creating a SOAP Web Service with Spring":https://www.baeldung.com/spring-boot-soap-web-service 
 # "Producing a SOAP web service":https://spring.io/guides/gs/producing-web-service/ 
 # "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 
 # "XSD/XML Schema Generator":https://www.freeformatter.com/xsd-generator.html#ad-output 
 # "How to generate xsd from wsdl":https://stackoverflow.com/questions/23238785/how-to-generate-xsd-from-wsdl
Go to top