title: Spring Boot app: Not picking up application.properties?
body: <p>I have a spring boot app I got here:
  <a href="https://github.com/christophstrobl/spring-data-solr-showcase/tree/4b3bbf945b182855003d5ba63a60990972a9de72" rel="noreferrer">https://github.com/christophstrobl/spring-data-solr-showcase/tree/4b3bbf945b182855003d5ba63a60990972a9de72</a></p>
  
  <p>It compiles and works fine with: <code>mvn spring-boot:run</code></p>
  
  <p>However, when I click "run as Spring Boot app" in Spring Tools Suite, I get an error about not being able to find <code>${solr.host}</code> which is set up in the application.properties file.</p>
  
  <pre><code>org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'productServiceImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.springframework.data.solr.showcase.product.ProductServiceImpl.setProductRepository(org.springframework.data.solr.showcase.product.ProductRepository); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'productRepository': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'solr.host' in string value "${solr.host}"
  </code></pre>
  
  <p>My applications.properties file looks like this:</p>
  
  <pre><code># SPRING MVC
  spring.view.suffix=.jsp
  spring.view.prefix=/WEB-INF/views/
  
  # SOLR
  solr.host=http://192.168.56.11:8983/solr
  </code></pre>
  
  <p>The relevant class looks like this (the only place where the $solr.host variable is used).  Also, if I directly address the SOLR server's IP (as in the commented code) the app starts fine. </p>
  
  <pre><code>* Copyright 2012 - 2014 the original author or authors.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.springframework.data.solr.showcase.config;
  
  import org.apache.solr.client.solrj.SolrServer;
  import org.apache.solr.client.solrj.impl.HttpSolrServer;
  import org.springframework.beans.factory.annotation.Value;
  import org.springframework.context.annotation.Bean;
  import org.springframework.context.annotation.Configuration;
  import org.springframework.context.annotation.PropertySource;
  import org.springframework.context.annotation.PropertySources;
  import org.springframework.data.solr.core.SolrTemplate;
  import org.springframework.data.solr.repository.config.EnableSolrRepositories;
  import org.springframework.data.solr.server.SolrServerFactory;
  import org.springframework.data.solr.server.support.MulticoreSolrServerFactory;
  
  /**
   * @author Christoph Strobl
   */
  @Configuration
  @EnableSolrRepositories(basePackages = { "org.springframework.data.solr.showcase.product" })
  
  public class SearchContext {
  
      @Bean
      public SolrServer solrServer(@Value("${solr.host}") String solrHost) {
          return new HttpSolrServer(solrHost);
      }
  
  //  @Bean
  //  public SolrServer solrServer(@Value("http://192.168.56.11:8983/solr") String solrHost) {
  //      return new HttpSolrServer(solrHost);
  //  }
  
      @Bean
      public SolrServerFactory solrServerFactory(SolrServer solrServer) {
          return new MulticoreSolrServerFactory(solrServer);
      }
  
      @Bean
      public SolrTemplate solrTemplate(SolrServerFactory solrServerFactory) {
          return new SolrTemplate(solrServerFactory);
      }
  
  }
  </code></pre>
  
  <p>I'm including that "ProductRepository" -- the one mentioned in the error -- although there isn't much going on there...</p>
  
  <pre><code>* Copyright 2012 - 2014 the original author or authors.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.springframework.data.solr.showcase.product;
  
  import java.util.Collection;
  
  import org.springframework.data.domain.Page;
  import org.springframework.data.domain.Pageable;
  import org.springframework.data.solr.core.query.Query.Operator;
  import org.springframework.data.solr.repository.Query;
  import org.springframework.data.solr.repository.SolrCrudRepository;
  import org.springframework.data.solr.showcase.product.model.Product;
  
  /**
   * @author Christoph Strobl
   */
  interface ProductRepository extends SolrCrudRepository&lt;Product, String&gt; {
  
      @Query(fields = { SearchableProductDefinition.ID_FIELD_NAME, SearchableProductDefinition.NAME_FIELD_NAME,
              SearchableProductDefinition.PRICE_FIELD_NAME, SearchableProductDefinition.FEATURES_FIELD_NAME,
              SearchableProductDefinition.AVAILABLE_FIELD_NAME }, defaultOperator = Operator.AND)
      Page&lt;Product&gt; findByNameIn(Collection&lt;String&gt; names, Pageable page);
  
  }
  </code></pre>
  
  <p>I've got what seems like a "standard" file structure... code in src/main/java and so on.  The application.properties file resides in src/main/resources.</p>
  
  <p>Any suggestions gratefully accepted.</p>
  
  <p>(Quick addition:  This is running Tomcat as the embedded server)</p>