Использование библиотеки Spring Boot в обычном проекте Java

В настоящее время я работаю над библиотекой jar Spring Boot для повторно используемых компонентов, таких как

  • LDAP
  • Эл. адрес
  • обмен сообщениями с apache kafka
  • остальное использование API

Цель:
Каждый «пользователь/кодировщик» Java в нашей компании должен иметь возможность «поместить» этот jar-файл в свой проект (с помощью maven или чего-то еще) и использовать повторно используемые компоненты вместо того, чтобы кодировать все вручную снова и снова.

Создание микросервисов для решения этой проблемы поверх REST не является для нас альтернативой.

Мой вопрос:
Могу ли я повторно использовать эту библиотеку jar Spring Boot в любых простых проектах Java?

Любя, могу ли я «поместить» эту библиотеку jar в проект Java и связать мои сервисы Spring Boot из этой библиотеки в моем ванильном Java-проекте «не Spring Boot»?

Уведомление/отредактировано:
Я использовал Spring Boot в качестве шаблона проекта (spring-boot-starter-parent).
Я настраиваю свои шаблоны, такие как LdapTemplate, вручную и не позволяю Spring Boot творить чудеса.

Редактировать
Что касается повторного использования в проектах Spring Boot/Spring, то все в порядке. Я это уже сделал.

Моя цель с этой библиотекой может заключаться в том, чтобы каждый «пользователь» Java мог использовать эту библиотеку, например: final SuperCoolLibary scl = new SuperCoolLibrary(); final boolean exists = scl.searchForLdapUser("tlang");

Так что можно еще вопрос:
Не лучше ли переключить эту библиотеку, возможно, на новую модульную инфраструктуру Java Jigsaw?

Это зависит. Используете ли вы функцию весенней или весенней загрузки в библиотеке?

JEY 08.04.2019 14:58

Да, вы можете поместить любую загрузочную банку Spring или любой проект Java в другой проект Java. В случае Maven вы можете добавить этот проект в pom.xml в качестве зависимости

Dhanraj 08.04.2019 14:59

Спасибо за помощь. я обновил свой вопрос прямо сейчас ...

Thomas Lang 08.04.2019 15:21
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
3
799
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
  1. Напишите свой собственный Spring-Boot-Auto-Starter. Руководство можно найти по адресу: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-auto-configuration.html
  2. Таким образом, вашу библиотеку можно использовать в каждом проекте весенней загрузки, просто добавив ее в качестве зависимости (что означает, что jar должен быть в вашем пути к классам).
  3. Если ваше Java-приложение не использует SpringContext, сервисы не могут быть "связаны" с помощью spring в вашем обычном ванильном Java-приложении.

Хм. Насколько я понимаю ваш вопрос, ответ таков: «Да, каждый может использовать вашу библиотеку, если она доступна в пути к классам и предоставляет понятный общедоступный API». С Jigsaw вы сможете ограничить или, лучше сказать, более четко определить, что такое «общедоступный API» вашей библиотеки. Но вообще сказал: они смогут использовать ваш код. То же самое и со всеми другими библиотеками, которые вы уже использовали в своих проектах с весенней загрузкой ;-)

the hand of NOD 08.04.2019 15:27

еще раз спасибо. я попробую это! возможно, я могу опубликовать ссылку на github, если библиотека готова сообщить вам об этом.

Thomas Lang 08.04.2019 15:38

Другие вопросы по теме