中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

為什么越來(lái)越多的開(kāi)發(fā)者選擇使用SpringBoot?-創(chuàng)新互聯(lián)

一、Web應(yīng)用開(kāi)發(fā)背景

使用Java做Web應(yīng)用開(kāi)發(fā)已經(jīng)有近20年的歷史了,從最初的Servlet1.0一步步演化到現(xiàn)在如此多的框架、庫(kù)以及整個(gè)生態(tài)系統(tǒng)。經(jīng)過(guò)這么長(zhǎng)時(shí)間的發(fā)展,Java作為一個(gè)成熟的語(yǔ)言,也演化出了非常成熟的生態(tài)系統(tǒng),這也是許多公司采用Java作為主流的語(yǔ)言進(jìn)行服務(wù)器端開(kāi)發(fā)的原因,也是為什么Java一直保持著非?;钴S的用戶群體的原因。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供耒陽(yáng)企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、網(wǎng)站設(shè)計(jì)、H5開(kāi)發(fā)、小程序制作等業(yè)務(wù)。10年已為耒陽(yáng)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

為什么越來(lái)越多的開(kāi)發(fā)者選擇使用Spring Boot?

最受Java開(kāi)發(fā)者喜好的框架當(dāng)屬Spring,Spring也成為了在Java EE開(kāi)發(fā)中真正意義上的標(biāo)準(zhǔn),但是隨著新技術(shù)的發(fā)展,腳本語(yǔ)言大行其道的時(shí)代(Node JS,Ruby,Groovy,Scala等),Java EE使用Spring逐漸變得笨重起來(lái),大量的XML文件存在與項(xiàng)目中,繁瑣的配置,整合第三方框架的配置問(wèn)題,低下的開(kāi)發(fā)效率和部署效率等等問(wèn)題。

這些問(wèn)題在不斷的社區(qū)反饋下,Spring團(tuán)隊(duì)也開(kāi)發(fā)出了相應(yīng)的框架:Spring Boot。Spring Boot可以說(shuō)是至少近5年來(lái)Spring乃至整個(gè)Java社區(qū)最有影響力的項(xiàng)目之一,也被人看作是:Java EE開(kāi)發(fā)的顛覆者!

二、Spring Boot解決的問(wèn)題

(1) Spring Boot使編碼變簡(jiǎn)單

(2) Spring Boot使配置變簡(jiǎn)單

(3) Spring Boot使部署變簡(jiǎn)單

(4) Spring Boot使監(jiān)控變簡(jiǎn)單

(5) Spring的不足

三、Spring Boot的優(yōu)點(diǎn)

官方地址:https://spring.io/projects/spring-boot

為什么越來(lái)越多的開(kāi)發(fā)者選擇使用Spring Boot?

Spring Boot繼承了Spring的優(yōu)點(diǎn),并新增了一些新功能和特性:

  • SpringBoot是伴隨著Spring4.0誕生的,一經(jīng)推出,引起了巨大的反向;
  • 從字面理解,Boot是引導(dǎo)的意思,因此SpringBoot幫助開(kāi)發(fā)者快速搭建Spring框架;
  • SpringBoot幫助開(kāi)發(fā)者快速啟動(dòng)一個(gè)Web容器;
  • SpringBoot繼承了原有Spring框架的優(yōu)秀基因;
  • SpringBoot簡(jiǎn)化了使用Spring的過(guò)程;
  • Spring Boot為我們帶來(lái)了腳本語(yǔ)言開(kāi)發(fā)的效率,但是Spring Boot并沒(méi)有讓我們意外的新技術(shù),都是Java EE開(kāi)發(fā)者常見(jiàn)的額技術(shù)。

四、Spring Boot主要特性

(1)遵循“習(xí)慣優(yōu)于配置”的原則,使用Spring Boot只需要很少的配置,大部分的時(shí)候我們直接使用默認(rèn)的配置即可;
(2)項(xiàng)目快速搭建,可以無(wú)需配置的自動(dòng)整合第三方的框架;
(3)可以完全不使用XML配置文件,只需要自動(dòng)配置和Java Config;
(4)內(nèi)嵌Servlet容器,降低了對(duì)環(huán)境的要求,可以使用命令直接執(zhí)行項(xiàng)目,應(yīng)用可用jar包執(zhí)行:java -jar;
(5)提供了starter POM, 能夠非常方便的進(jìn)行包管理, 很大程度上減少了jar hell或者dependency hell;
(6)運(yùn)行中應(yīng)用狀態(tài)的監(jiān)控;
(7)對(duì)主流開(kāi)發(fā)框架的無(wú)配置集成;
(8)與云計(jì)算的天然繼承;

五、Spring Boot的核心功能

(1)獨(dú)立運(yùn)行的Spring項(xiàng)目

Spring Boot可以以jar包的形式進(jìn)行獨(dú)立的運(yùn)行,使用:java -jar xx.jar 就可以成功的運(yùn)行項(xiàng)目,或者在應(yīng)用項(xiàng)目的主程序中運(yùn)行main函數(shù)即可;

(2)內(nèi)嵌的Servlet容器

內(nèi)嵌容器,使得我們可以執(zhí)行運(yùn)行項(xiàng)目的主程序main函數(shù),實(shí)現(xiàn)項(xiàng)目的快速運(yùn)行;

主程序代碼SpringbootDemoApplication.java

package com.springboot.demo.helloworld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringBootHelloWorldApplication {

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

(3)提供starter簡(jiǎn)化Manen配置

Spring Boot提供了一系列的starter pom用來(lái)簡(jiǎn)化我們的Maven依賴,下邊是創(chuàng)建一個(gè)web項(xiàng)目中自動(dòng)包含的依賴,使用的starter pom依賴為:spring-boot-starter-web

為什么越來(lái)越多的開(kāi)發(fā)者選擇使用Spring Boot?

Spring Boot官網(wǎng)還提供了很多的starter pom,請(qǐng)參考:

https://docs.spring.io/spring-boot/docs/2.0.4.RELEASE/reference/htmlsingle/#using-boot-starter
為什么越來(lái)越多的開(kāi)發(fā)者選擇使用Spring Boot?

(4)自動(dòng)配置Spring

Spring Boot會(huì)根據(jù)我們項(xiàng)目中類路徑的jar包/類,為jar包的類進(jìn)行自動(dòng)配置Bean,這樣一來(lái)就大大的簡(jiǎn)化了我們的配置。當(dāng)然,這只是Spring考慮到的大多數(shù)的使用場(chǎng)景,在一些特殊情況,我們還需要自定義自動(dòng)配置;

(5)應(yīng)用監(jiān)控

注意:以前的版本還支持這個(gè)功能,目前使用的2.0.4.RELEASE已經(jīng)不再支持此功能!

Spring Boot提供了基于http、ssh、telnet對(duì)運(yùn)行時(shí)的項(xiàng)目進(jìn)行監(jiān)控;這個(gè)聽(tīng)起來(lái)是不是很炫酷!

示例:以SSH登錄為例

1、首先,添加starter pom依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-remote-shell</artifactId>
</dependency>

2、運(yùn)行項(xiàng)目,此時(shí)在控制臺(tái)中會(huì)出現(xiàn)SSH訪問(wèn)的密碼:

為什么越來(lái)越多的開(kāi)發(fā)者選擇使用Spring Boot?

3、使用SecureCRT登錄到我們的程序,端口為2000,用戶為user:

為什么越來(lái)越多的開(kāi)發(fā)者選擇使用Spring Boot?

密碼就是剛才的shell access;

但是當(dāng)我點(diǎn)擊連接的時(shí)候,出現(xiàn)錯(cuò)誤:

為什么越來(lái)越多的開(kāi)發(fā)者選擇使用Spring Boot?

顯然是SecureCRT的版本不支持,所以就放棄了這個(gè),使用Git Bash:

ssh -p 2000 user@127.0.0.1

為什么越來(lái)越多的開(kāi)發(fā)者選擇使用Spring Boot?

剩下的事情,大家自己玩吧!

(6)無(wú)代碼生成和XML配置

Spring Boot神奇的地方不是借助于代碼生成來(lái)實(shí)現(xiàn)的,而是通過(guò)條件注解的方式來(lái)實(shí)現(xiàn)的,這也是Spring 4.x的新特性。

六、Spring Boot的快速搭建案例

下邊使用的是IDEA快速搭建一個(gè)Spring Boot項(xiàng)目

(1)File—-New—New Project

為什么越來(lái)越多的開(kāi)發(fā)者選擇使用Spring Boot?

(2)點(diǎn)擊Next填寫相應(yīng)的信息

為什么越來(lái)越多的開(kāi)發(fā)者選擇使用Spring Boot?

(3)點(diǎn)擊Next,選擇Dependencies,這里創(chuàng)建Web項(xiàng)目選擇—–Web:

為什么越來(lái)越多的開(kāi)發(fā)者選擇使用Spring Boot?

(4)點(diǎn)擊Next,設(shè)置項(xiàng)目名稱,這里默認(rèn)設(shè)置,點(diǎn)擊Next之后,項(xiàng)目等一下就創(chuàng)建好了

為什么越來(lái)越多的開(kāi)發(fā)者選擇使用Spring Boot?

找到應(yīng)用程序的主函數(shù),運(yùn)行即可:

為什么越來(lái)越多的開(kāi)發(fā)者選擇使用Spring Boot?

注意,在pom文件里的java版本這個(gè)要和你的機(jī)子上一致!我的是1.8,默認(rèn)創(chuàng)建項(xiàng)目的時(shí)候?yàn)?.8:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開(kāi)啟,新人活動(dòng)云服務(wù)器買多久送多久。

標(biāo)題名稱:為什么越來(lái)越多的開(kāi)發(fā)者選擇使用SpringBoot?-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://www.rwnh.cn/article44/cciche.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、自適應(yīng)網(wǎng)站、全網(wǎng)營(yíng)銷推廣、服務(wù)器托管、靜態(tài)網(wǎng)站、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
额敏县| 清丰县| 若羌县| 陆良县| 宜阳县| 库尔勒市| 铜陵市| 满洲里市| 随州市| 济南市| 大庆市| 吉林省| 秦安县| 信宜市| 千阳县| 苍溪县| 四子王旗| 偏关县| 新化县| 化州市| 板桥市| 莱州市| 广饶县| 怀集县| 文水县| 青龙| 晋中市| 诸暨市| 镇坪县| 宁强县| 铜梁县| 建湖县| 石首市| 兴隆县| 兴安盟| 胶州市| 贵德县| 新化县| 安康市| 九江市| 当阳市|