BroadleafCommerce / BroadleafCommerce/spring-frameworkmapping

Convert the @ComponentScan in @FrameworkControllerScan configuration to an ImportBeanDefinitionRegistrar

Open
#2 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
2
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Since we are hijacking @ComponentScan to utilize @FrameworkControllerScan, this prevents a user from using it alongside any other @ComponentScan, including an @SpringBootApplication class.

Instead, a user is required to create a static inner class or @Import another @Configuration class that contains the @FrameworkControllerScan.

This represents work towards dynamically registering beans via an ImportBeanDefinitionRegistrar. Some work has already been done towards this effort at import-registrar. The challenge is that we need to build our own BeanDefinition from the class itself and don't have a lot of examples to rely on.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing @FrameworkControllerScan configuration and the work already present on the import-registrar branch. Read Spring's ImportBeanDefinitionRegistrar and BeanDefinition APIs before determining how the scanned class should be represented. Done means @FrameworkControllerScan can coexist with other @ComponentScan declarations without requiring an inner or imported configuration class.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring
Domain
api, backend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.