← Назад к вопросам

Можно ли запустить Spring Boot приложение без файла application.properties?

1.6 Junior🔥 101 комментариев
#Spring Boot и Spring Data

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Да, можно запустить Spring Boot приложение без application.properties

Spring Boot предоставляет множество способов конфигурации приложения, и файл application.properties или application.yml — это лишь один из них. Если вы не создадите эти файлы, приложение будет работать, используя конфигурацию по умолчанию.

Как работает конфигурация в Spring Boot

Spring Boot использует иерархию источников конфигурации:

  1. Command-line arguments (аргументы командной строки) — наивысший приоритет
  2. System properties (системные свойства Java)
  3. Environment variables (переменные окружения)
  4. application.properties или application.yml файлы
  5. Встроенные значения по умолчанию — наименьший приоритет

Минимальное приложение без конфиг-файла

Вот полностью работающее Spring Boot приложение без application.properties:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

Это приложение запустится на стандартном порту 8080 с конфигурацией по умолчанию.

Передача параметров альтернативными способами

Если вам нужна пользовательская конфигурация без файлов, используйте:

Command-line аргументы:

java -jar app.jar --server.port=9090 --server.servlet.context-path=/api

Переменные окружения:

export SERVER_PORT=9090
java -jar app.jar

Системные свойства Java:

java -Dserver.port=9090 -jar app.jar

Определение конфигурации через @Configuration классы

Вы можете определить конфигурацию полностью в Java коде:

@Configuration
public class ApplicationConfig {
    @Bean
    public ServletWebServerFactory webServerFactory() {
        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
        factory.setPort(9090);
        return factory;
    }
}

Практический пример с DatabaseProperties

Определение свойств через класс конфигурации вместо properties файла:

@Configuration
@EnableConfigurationProperties
public class DataSourceConfig {
    @Bean
    public DataSource dataSource(
        @Value("${db.url:jdbc:h2:mem:testdb}") String url,
        @Value("${db.user:sa}") String user) {
        HikariConfig config = new HikariConfig();
        config.setJdbcUrl(url);
        config.setUsername(user);
        return new HikariDataSource(config);
    }
}

Когда application.properties всё-таки нужен

Важно помнить: хотя technical возможность существует, в production всегда рекомендуется использовать:

  • application.yml или application.properties для разработки
  • Переменные окружения или конфиг-серверы (Config Server) для production
  • Профили (application-prod.yml, application-dev.yml) для разных окружений

Это обеспечивает централизованное управление конфигурацией и упрощает развёртывание приложения в разных окружениях.

Итоговый ответ

Да, Spring Boot приложение работает без application.properties благодаря встроенным значениям по умолчанию. Однако для практического использования рекомендуется использовать файлы конфигурации или переменные окружения для управления параметрами приложения.