Обновить

Комментарии 5

не Spring’ом единым жив мир Java разработки. но если есть опыт использования, то нескоторые шаги могут упростить разработку и улучшить показатели:

упрощение управления версиями зависимостей
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webmvc</artifactId>
        </dependency>
    </dependencies>
подготовка thin jar без spring-boot-maven-plugin
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <includeScope>runtime</includeScope>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>dependency/</classpathPrefix>
                            <mainClass>com.company.Application</mainClass> <!-- replace with actual value -->
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

запуск через java -jar app.jar

исключение неиспользуемых зависимостей

если REST сервис отдаёт MediaType.TEXT_PLAIN_VALUE, то Jackson можно исключить

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-webmvc</artifactId>
                <version>${spring-boot.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-jackson</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

Согласен, там есть очевидные пути уменьшения размера результирующего .jar или повышения производительности эндпоинта метрик путём отделения предметных метрик от системных. Но это пойдёт вразрез с сутью образовавшегося эксперимента - нагружать "Малинку" java-bloat'ом от максимально просто/прямолинейно сделанного приложения на текущем технологическом уровне.

Я думал что моя 4-я ревизия старая. А тут ещё старше и тоже живая!

Малинка с 512 оперативы просто читает датчик температуры и Ты этим хвалишься? Мир сошел с ума... Там бы хватило копееечной ардулинки, разве что для вайфаев нужно бы было что-то немного другое. На малинке нормально крутится хоме асистанс с блекджеком и дивами...

Любопытно, в каком конкретном месте статьи и в каких именно речевых оборотах вы углядели ваше "и Ты этим хвалишься?"?

Что касается упомянутой вами "копееечной ардулинки": связь по Wi-Fi и предоставление текущих значений на веб-странице для просмотра из нескольких браузеров были исходными требованиями. Вспомните, что было доступно весной 2013-го года и можете придумывать своё решение на "ардулинки".

Задача никогда не подразумевала тиражирование, на котором можно было бы вести речь о хоть какой-то "экономике процесса". Подозреваю, что одно только изучение темы "устройств попроще", не говоря уже про разный tooling, написание и отладку, прямо в самом начале потребовали бы времени в разы больше, чем всё время, потраченное мной на все стадии этого "проекта".

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации