title: How to autowire when constructor arguments are specified at runtime?
body: <p>I have a domain class that i want to inject into the facade of its module, this class have constructor arguments that are specified at runtime. The definition of this class is as shown below:</p>
  
  <pre><code>@Component("area")
  @Scope("prototype")
  public class GeographicalCircleArea {
      private Location center;
      private double radius;
  
      private final IShopsProviderAdapter shopsProviderAdapter;
  
      @Autowired
      GeographicalCircleArea(double centerLatitude, double centerLongitude, double radiusInKm, IShopsProviderAdapter shopsProviderAdapter) {
          this.center = makeCenter(centerLatitude, centerLongitude);
          this.radius = radiusInKm;
          this.shopsProviderAdapter = shopsProviderAdapter;
      }
  
      List&lt;Shop&gt; getShopsWithin() {
          return shopsProviderAdapter.findShopsWithin(this);
      }
  
      public Location getCenter() {
          return center;
      }
  
      public double getRadius() {
          return radius;
      }
  
      private Location makeCenter(double latitude, double longitude) {
          return new Location(latitude, longitude);
      }
  }
  </code></pre>
  
  <p>The facade where I want to inject the precedent bean is:</p>
  
  <pre><code>@Service
  public class GeolocationInformationSystem {
  
      @Autowired
      private GeographicalCircleArea area;
  
      public List&lt;Shop&gt; searchForNearbyShops(double centerLatitude, double centerLongitude, double radiusInKm) {
          return area.getShopsWithin();
      }
  }
  </code></pre>
  
  <p>which gets the arguments to instantiate GeographicalCircleArea at runtime.
  How to correctly apply the autowiring?</p>