-
В
pom.xmlдобавьте зависимостьorg.springframework:spring-context:5.2.1.RELEASE. -
В методе main создайте новый экземпляр класса
AnnotationConfigApplicationContext- контейнер, в котором будут храниться ваши бины. На вход ему будет передаваться классMainConfiguration. В конфигурации используйте такие аннотации, как@Configurationи@Bean. -
В классе
MainConfigurationсделайте импорт двух других классов-конфигураций:- В классе
RepositoryConfigurationсделайте описание биновArrayListItemRepositoryиLinkedListItemRepository- В
ArrayListItemRepositoryобъектыItemдолжны храниться вArrayListиinitialSequenceсчитываться из пропертей. - В
ArrayListItemRepositoryобъектыItemдолжны храниться вLinkedListиinitialSequenceгенерироваться случайно.
- В
- В классе
InitializerConfigurationреализуйте factory-beanColorFactory, который умеет выдавать сущности биновColorпо запросуgetColor. БинColorобязан создаваться каждый раз заново.
- В классе
-
Имплементируйте
SimpleItemService- сделайте так, чтобы необходимые зависимости добавлялись к нему через методset..и конструктор. В чём разница этих подходов? -
Сделайте так, чтобы бин
ColorFactoryсоздавался не на этапе создания контекста, а при первом обращении к нему. -
Сделайте так, чтобы используемая реализация
ItemRepositoryвыбиралась исходя из пропертиitem.repository.implementationиз значенийarrayилиlinked. При отсутствии проперти необходимо использоватьArrayListItemRepository. -
В классе
SpringCoreTemplateв методеmainсоздайте экземплярApplicationContextи передайте ему на вход созданный экземплярAnnotationConfigApplicationContext. Сделайте парочку вызовов методаgetBean, чтобы убедиться, что все бины создались и корректно работают. -
Подключите зависимость
org.springframework:spring-test:jar:5.2.1.RELEASE. Напишите тесты, которые проверяют основную бизнес-логику и то, что ваш контекст загружается успешно.
-
Notifications
You must be signed in to change notification settings - Fork 31
java-online-course/spring-core-template
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published