Unfortunately, I think thats a basic flaw that no one sees in dependency injection, A chief premise of dependency injection is that there has to be a programmatic or xml config way to hook your classes to be managed; So essentially Convention over configuration principle is defied in that sense.
Re-question:
There's a class called Package in java API (It has some methods like Package.getPackages(), getAnnotation( ... ), isAnnotationPresent( ... ) etc, can i get all packages and then somehow reflectively get all classes annotated with @Component?