創(chuàng)建一個純凈的SpringBoot項目

一、前言

Spring 是 Java 開發(fā)非常流行且優(yōu)秀的框架,一般用來做 Web 開發(fā),但是如果我們只想使用 Spring 提供的容器環(huán)境和方便的工具組件,不想啟用 Tomcat 、數(shù)據(jù)庫等繁雜的組件該如何做?

二、去掉數(shù)據(jù)庫

只需要在啟動類上加上一個屬性,去掉數(shù)據(jù)源的自動裝配即可

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@EnableScheduling
public class App implements ApplicationContextAware {

    private static final Logger log = LoggerFactory.getLogger(App.class);

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

三、去掉Servlet容器

最簡單的方式是直接不引入 spring-boot-starter-web這個包,但是有時候我們又想使用 RestTemplate 等好用的工具,可以這樣配置單獨去掉 Tomcat。

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <!-- 去除內(nèi)嵌tomcat -->
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

四、后記

去掉不用的功能后啟動時間極具縮短,同時還能享受 Spring 的福利,美滋滋。

2020-10-23 17:28:37.923  INFO 260 --- [           main] com.juyuansoft.buildcloud.iot14.App      : Starting App on DESKTOP-U21EBB6 with PID 260 (C:\jy\buildcloud-iots\buildcloud-iot-14\target\classes started by zhanghuan in C:\jy\buildcloud-iots\buildcloud-iot-14)
2020-10-23 17:28:37.930  INFO 260 --- [           main] com.juyuansoft.buildcloud.iot14.App      : No active profile set, falling back to default profiles: default
2020-10-23 17:28:39.409  INFO 260 --- [           main] o.s.s.c.ThreadPoolTaskScheduler          : Initializing ExecutorService 'taskScheduler'
2020-10-23 17:28:39.450  INFO 260 --- [           main] com.juyuansoft.buildcloud.iot14.App      : Started App in 1.987 seconds (JVM running for 2.702)

注意,去掉這些功能后,項目如何常駐就需要我們自己編寫了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容