title: @Transactional annotated class can not be autowired
body: <p>I'm trying to perform an integration test and my class with @Transactional annotation can't be autowired into a test class with NoSuchBeanDefinitionException. I commented it out and checked a list of loaded beans and my service is there, just not injected.</p>
  
  <p>org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.icsynergy.scim.service.DBIntegrationServiceTest': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.icsynergy.scim.service.DBIntegrationService com.icsynergy.scim.service.DBIntegrationServiceTest._service; nested exception is</p>
  
  <pre><code>org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.icsynergy.scim.service.DBIntegrationService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
  </code></pre>
  
  <p>If I delete this annotation, it's injected but there is no transaction support.</p>
  
  <p>Here is my class</p>
  
  <pre><code>@Slf4j
  @Service(value = 'integrationService')
  @EnableConfigurationProperties(DBIntegrationConfig.class)
  //@Transactional
  class DBIntegrationService implements IntegrationService, HealthIndicator {...
  </code></pre>
  
  <p>I try to inject it as </p>
  
  <pre><code>@RunWith(SpringJUnit4ClassRunner.class)
  @SpringApplicationConfiguration(classes = Application.class)
  class DBIntegrationServiceTest {
  
  @Autowired
  DBIntegrationService _service
  ...
  </code></pre>
  
  <p>and below is Application.class</p>
  
  <pre><code>@Configuration
  @EnableAutoConfiguration
  @ComponentScan(basePackages = [
      "com.icsynergy.scim.repository",
      'com.icsynergy.scim.service',
      "com.icsynergy.scim.web",
      "com.icsynergy.scim.config"
  ], excludeFilters = [
      @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value =   OktaSCIMService.class),
      @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = DBIntegrationService.class)
  ])
  @ImportResource("config.xml")
  @EnableTransactionManagement
  public class Application { 
  ....
  </code></pre>
  
  <p>and this is a fragment from config.xml</p>
  
  <pre><code>&lt;bean name="integrationService" class="com.icsynergy.scim.service.DBIntegrationService"/&gt;
  
  &lt;bean name="service" class="com.icsynergy.scim.service.OktaSCIMService"&gt;
      &lt;property name="service" ref="integrationService"&gt;&lt;/property&gt;
      &lt;property name="implementedUserManagementCapabilities"&gt;
          &lt;list value-type="com.okta.scim.server.capabilities.UserManagementCapabilities"&gt;
              &lt;value&gt;GROUP_PUSH&lt;/value&gt;
          &lt;/list&gt;
      &lt;/property&gt;
  &lt;/bean&gt;
  </code></pre>
  
  <p><b>EDIT</b>: Found a workaround. As my service implements IntegrationService, so an injection of it actually helps to avoid an exception. Still don't understand what is wrong with my original injection</p>
  
  <p>Will appreciate any ideas, TIA</p>