Spring Scanner - контейнер попсы и блатняка

Модераторы: Вий, Xanf

hellboy
Сообщения: 334
Зарегистрирован: 12 авг 2018, 22:42

Spring Scanner - контейнер попсы и блатняка

Сообщение hellboy » 16 апр 2019, 15:52

туда даже не завезли ручную регистрацию !

:twisted: :evil:

hellboy
Сообщения: 334
Зарегистрирован: 12 авг 2018, 22:42

Re: Spring Scanner - контейнер попсы и блатняка

Сообщение hellboy » 18 апр 2019, 16:40

com.atlassian.util.concurrent.LazyReference$InitializationException: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'com.my.jira.rest.MyMainFormRestResource': Unsatisfied dependency expressed through constructor argument with index 0 of type [com.my.xxx.ProjectTreeService]: No qualifying bean of type [com.my.xxx.MyService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.my.xxx.MyService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}

hellboy
Сообщения: 334
Зарегистрирован: 12 авг 2018, 22:42

Re: Spring Scanner - контейнер попсы и блатняка

Сообщение hellboy » 07 май 2019, 09:38

hellboy писал(а):туда даже не завезли ручную регистрацию !

:twisted: :evil:
спринг - это действительно контейнера попсы и блатняка

полмесяца проебался в поисках ошибки:

если у А есть звисимость В, которая создается (вручную) в @Configuration @Bean, то А хуюшки тебе Спринг сам создаст. ты должен всю цепочку "вручную" создавать в @Configuration @Bean

с уважением, единственный оставшийся в ОСД погроммизд java. все остальные в Киеве

зы а когда то в ОСД был хфорум ойди специализдофф

hellboy
Сообщения: 334
Зарегистрирован: 12 авг 2018, 22:42

Re: Spring Scanner - контейнер попсы и блатняка

Сообщение hellboy » 07 май 2019, 09:47

Код: Выделить всё


@Component
@Configuration
public class MyApiFactory {
    // Без этого ProjectTreeService автоматом не регистрируется  
    // Почему я ОБЯЗАН это делать через код?
    // Можно ли делегировать эту задачу спрингу?
    // В какой книге это описано?
    @Bean
    public ProjectTreeService getProjectTreeService(ProjectTreeApi api) {
        return new ProjectTreeService(api);
    }
    
    // Зависимость ProjectTreeApi я обязан так создавать 
    @Bean
    public ProjectTreeApi getProjectTreeApi() {
        // здесь нужно описать логику инициализации каждой копии MyApi
        // можно использовать БД, PluginSettingsFactory и другие инструменты

        ProjectTreeApi projectTreeApi = getClientGenericApi(ProjectTreeApi.class);

        return projectTreeApi;
    }
}

@Named
public class ProjectTreeService {

    @Inject
    public ProjectTreeService(ProjectTreeApi api) {
        this.projectTreeApi = api;
    }
}

Вячеслав Викторови4
Сообщения: 3577
Зарегистрирован: 19 май 2015, 17:30

Re: Spring Scanner - контейнер попсы и блатняка

Сообщение Вячеслав Викторови4 » 07 май 2019, 14:43

hellboy писал(а):
hellboy писал(а):туда даже не завезли ручную регистрацию !

:twisted: :evil:
спринг - это действительно контейнера попсы и блатняка

полмесяца проебался в поисках ошибки:

если у А есть звисимость В, которая создается (вручную) в @Configuration @Bean, то А хуюшки тебе Спринг сам создаст. ты должен всю цепочку "вручную" создавать в @Configuration @Bean

с уважением, единственный оставшийся в ОСД погроммизд java. все остальные в Киеве

зы а когда то в ОСД был хфорум ойди специализдофф
https://docs.spring.io/spring-boot/docs ... ation.html

hellboy
Сообщения: 334
Зарегистрирован: 12 авг 2018, 22:42

Re: Spring Scanner - контейнер попсы и блатняка

Сообщение hellboy » 07 май 2019, 15:28

11 дней 11 ночей это таке не известный фильм, это курс по спрингу. Искусство интанцирования обжектов нозываецо

https://pastebin.com/hwSJ199T

hellboy
Сообщения: 334
Зарегистрирован: 12 авг 2018, 22:42

Re: Spring Scanner - контейнер попсы и блатняка

Сообщение hellboy » 07 май 2019, 15:34

Вячеслав Викторови4 писал(а):
hellboy писал(а):
hellboy писал(а):туда даже не завезли ручную регистрацию !

:twisted: :evil:
спринг - это действительно контейнера попсы и блатняка

полмесяца проебался в поисках ошибки:

если у А есть звисимость В, которая создается (вручную) в @Configuration @Bean, то А хуюшки тебе Спринг сам создаст. ты должен всю цепочку "вручную" создавать в @Configuration @Bean

с уважением, единственный оставшийся в ОСД погроммизд java. все остальные в Киеве

зы а когда то в ОСД был хфорум ойди специализдофф
https://docs.spring.io/spring-boot/docs ... ation.html
у меня не спринг boot

у меня обычный спринг

EnableAutoConfiguration у мене не доступен

https://pastebin.com/hwSJ199T

на этапе интеграционного тестирования мне удалось внедрить зависимости. Нужно @Bean ить все участников транзитивной цепчонки

на этапе рантайма еще проблемы

Вячеслав Викторови4
Сообщения: 3577
Зарегистрирован: 19 май 2015, 17:30

Re: Spring Scanner - контейнер попсы и блатняка

Сообщение Вячеслав Викторови4 » 07 май 2019, 15:58

hellboy писал(а):
Вячеслав Викторови4 писал(а):
hellboy писал(а):
hellboy писал(а):туда даже не завезли ручную регистрацию !

:twisted: :evil:
спринг - это действительно контейнера попсы и блатняка

полмесяца проебался в поисках ошибки:

если у А есть звисимость В, которая создается (вручную) в @Configuration @Bean, то А хуюшки тебе Спринг сам создаст. ты должен всю цепочку "вручную" создавать в @Configuration @Bean

с уважением, единственный оставшийся в ОСД погроммизд java. все остальные в Киеве

зы а когда то в ОСД был хфорум ойди специализдофф
https://docs.spring.io/spring-boot/docs ... ation.html
у меня не спринг boot

у меня обычный спринг

EnableAutoConfiguration у мене не доступен

https://pastebin.com/hwSJ199T

на этапе интеграционного тестирования мне удалось внедрить зависимости. Нужно @Bean ить все участников транзитивной цепчонки

на этапе рантайма еще проблемы
ты не обязан все бины в конфигурации описывать, сам класс обычно пустой. @ComponentScan вставь после @Configuration.
И класс ProjectTreeApi пометь аннотацией @Component. Тогда спринг контекст автоматом поднимется.

hellboy
Сообщения: 334
Зарегистрирован: 12 авг 2018, 22:42

Re: Spring Scanner - контейнер попсы и блатняка

Сообщение hellboy » 07 май 2019, 16:49

Вячеслав Викторови4 писал(а):
hellboy писал(а):
Вячеслав Викторови4 писал(а):
hellboy писал(а):
hellboy писал(а):туда даже не завезли ручную регистрацию !

:twisted: :evil:
спринг - это действительно контейнера попсы и блатняка

полмесяца проебался в поисках ошибки:

если у А есть звисимость В, которая создается (вручную) в @Configuration @Bean, то А хуюшки тебе Спринг сам создаст. ты должен всю цепочку "вручную" создавать в @Configuration @Bean

с уважением, единственный оставшийся в ОСД погроммизд java. все остальные в Киеве

зы а когда то в ОСД был хфорум ойди специализдофф
https://docs.spring.io/spring-boot/docs ... ation.html
у меня не спринг boot

у меня обычный спринг

EnableAutoConfiguration у мене не доступен

https://pastebin.com/hwSJ199T

на этапе интеграционного тестирования мне удалось внедрить зависимости. Нужно @Bean ить все участников транзитивной цепчонки

на этапе рантайма еще проблемы
ты не обязан все бины в конфигурации описывать, сам класс обычно пустой. @ComponentScan вставь после @Configuration.
И класс ProjectTreeApi пометь аннотацией @Component. Тогда спринг контекст автоматом поднимется.
я все испробовал. все равно не работает

все рекомендации здесь выполнены:
https://stackoverflow.com/a/26096574/444079

есть ли у спринга отладочная консоль, чтобы посмотреть, что все таки загрузилось им?

hellboy
Сообщения: 334
Зарегистрирован: 12 авг 2018, 22:42

Re: Spring Scanner - контейнер попсы и блатняка

Сообщение hellboy » 07 май 2019, 16:54

Код: Выделить всё

INFO] [talledLocalContainer] Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'com.ыыы.jira.rest.MainFormRestResource': Unsatisfied dependency expressed through constructor argument with index 0 of type [com.ххх.ыыы.services.ProjectTreeService]: No qualifying bean of type [com.ххх.ыыы .services.ProjectTreeService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.ххх.ыыы.services.ProjectTreeService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:185)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1143)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1046)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:342)
[INFO] [talledLocalContainer] 	... 2 filtered
[INFO] [talledLocalContainer] 	at java.lang.reflect.Method.invoke(Method.java:498)
[INFO] [talledLocalContainer] 	at com.atlassian.plugin.osgi.spring.DefaultSpringContainerAccessor.createBean(DefaultSpringContainerAccessor.java:97)
[INFO] [talledLocalContainer] 	at com.atlassian.plugins.rest.module.OsgiComponentProviderFactory$ContainerManagedComponentProvider.getInstance(OsgiComponentProviderFactory.java:89)
[INFO] [talledLocalContainer] 	... 3 filtered
[INFO] [talledLocalContainer] 	at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
[INFO] [talledLocalContainer] 	... 8 filtered
[INFO] [talledLocalContainer] 	at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
[INFO] [talledLocalContainer] 	... 1 filtered
[INFO] [talledLocalContainer] 	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.initiate(RestDelegatingServletFilter.java:159)
[INFO] [talledLocalContainer] 	... 5 filtered
[INFO] [talledLocalContainer] 	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.initServletContainer(RestDelegatingServletFilter.java:88)
[INFO] [talledLocalContainer] 	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.init(RestDelegatingServletFilter.java:61)
[INFO] [talledLocalContainer] 	... 1 filtered
[INFO] [talledLocalContainer] 	at com.atlassian.plugin.servlet.DefaultServletModuleManager$LazyLoadedFilterReference.create(DefaultServletModuleManager.java:516)
[INFO] [talledLocalContainer] 	at com.atlassian.plugin.servlet.DefaultServletModuleManager$LazyLoadedFilterReference.create(DefaultServletModuleManager.java:503)
[INFO] [talledLocalContainer] 	at com.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:325)
[INFO] [talledLocalContainer] 	at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:143)
[INFO] [talledLocalContainer] 	... 211 more
[INFO] [talledLocalContainer] Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.ххх.ыыы.services.ProjectTreeService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1373)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1119)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:813)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741)

Ответить