title: How to initialize the final variable by Spring @PostConstruct?
body: <p>I have to initialize some final variable,but these value need to be read by Spring Properties</p>
  
  <pre><code>public class CrawlerClient{
      @Autowired
      @Qualifier("crawlerProperties")
      private Properties crawlerProperties;
  
      private Integer  final maxTopic;
      public static void main(String[] args) {
          //initialize();
      }
      @PostConstruct
      private void initialize(){
          List&lt;Topic&gt; topics = topicBusiness.getAll();
          List&lt;Blogger&gt; bloggers = bloggerBusiness.getAll();
          List&lt;Clue&gt; clues = clueBusiness.getAll();
          ClueQueue.addAll(clues);
          TopicQueue.addAll(topics);
          BloggerQueue.addAll(bloggers);
  
      }
  ..
  }
  </code></pre>
  
  <p>I want to initialize the variable of "maxTopic",but value is in Properties,So I can't do it in construction,how can I do for this?I just know remove the key of "final".
  Finally,I do it by this way:</p>
  
  <pre><code>final Integer maxTopic;
      final Integer maxBlogger;
      final Integer maxClue;
      @Autowired
      public CrawlerClient(@Qualifier("crawlerProperties")Properties crawlerProperties){
          this.maxTopic = Integer.parseInt(crawlerProperties.getProperty("MaxTopic"));
          this.maxBlogger = Integer.parseInt(crawlerProperties.getProperty("MaxBlogger"));
          this.maxClue = Integer.parseInt(crawlerProperties.getProperty("MaxClue"));
      }
  </code></pre>
  
  <p>Can anyone solve it by the better way?</p>