hi 大家好,又見(jiàn)面了,今天繼續(xù)講解Spring Boot
??1.什么是Spring Boot?
Spring 的誕?是為了簡(jiǎn)化 Java 程序的開(kāi)發(fā)的,? Spring Boot 的誕?是為了簡(jiǎn)化 Spring 程序開(kāi)發(fā)的。
Spring Boot是基于Spring框架的一個(gè)輕量級(jí)開(kāi)發(fā)框架,目的是讓開(kāi)發(fā)Spring應(yīng)用變得更加簡(jiǎn)單快捷.
Spring Boot是Spring腳手架,就是為了快速開(kāi)發(fā) Spring 框架?誕?的
比如蓋房子用腳手架讓蓋房子更高效哈哈~
??2.Spring Boot的優(yōu)勢(shì)
快速集成框架,Spring Boot 提供了啟動(dòng)添加依賴的功能,?于秒級(jí)集成各種框架。
內(nèi)置運(yùn)?容器,?需配置 Tomcat 等 Web 容器,直接運(yùn)?和部署程序。
快速部署項(xiàng)?,?需外部容器即可啟動(dòng)并運(yùn)?項(xiàng)?。
可以完全拋棄繁瑣的 XML,使?注解和配置的?式進(jìn)?開(kāi)發(fā)。
?持更多的監(jiān)控的指標(biāo),可以更好的了解項(xiàng)?的運(yùn)?情況。
??3.Spring Boot項(xiàng)目創(chuàng)建
??3.1使用ieda創(chuàng)建
??3.1.1下載插件Spring Boot Helper
??3.1.2創(chuàng)建項(xiàng)目
添加依賴
第一次創(chuàng)建Spring Boot項(xiàng)目要加載很久,因?yàn)楫?dāng)前Spring Boot項(xiàng)目并沒(méi)有在本地倉(cāng)庫(kù),而且要保證在創(chuàng)建前配置了maven國(guó)內(nèi)源,如果沒(méi)有配置,下方為大家提供國(guó)內(nèi)seetings.xml的信息
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you 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.
-->
<!--
| This is the configuration file for Maven. It can be specified at two levels:
|
| 1. User Level. This settings.xml file provides configuration for a single user,
| and is normally provided in ${user.home}/.m2/settings.xml.
|
| NOTE: This location can be overridden with the CLI option:
|
| -s /path/to/user/settings.xml
|
| 2. Global Level. This settings.xml file provides configuration for all Maven
| users on a machine (assuming they're all using the same Maven
| installation). It's normally provided in
| ${maven.conf}/settings.xml.
|
| NOTE: This location can be overridden with the CLI option:
|
| -gs /path/to/global/settings.xml
|
| The sections in this sample file are intended to give you a running start at
| getting the most out of your Maven installation. Where appropriate, the default
| values (values used when the setting is not specified) are provided.
|
|-->
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<!-- interactiveMode
| This will determine whether maven prompts you when it needs input. If set to false,
| maven will use a sensible default value, perhaps based on some other setting, for
| the parameter in question.
|
| Default: true
<interactiveMode>true</interactiveMode>
-->
<!-- offline
| Determines whether maven should attempt to connect to the network when executing a build.
| This will have an effect on artifact downloads, artifact deployment, and others.
|
| Default: false
<offline>false</offline>
-->
<!-- pluginGroups
| This is a list of additional group identifiers that will be searched when resolving plugins by their prefix, i.e.
| when invoking a command line like "mvn prefix:goal". Maven will automatically add the group identifiers
| "org.apache.maven.plugins" and "org.codehaus.mojo" if these are not already contained in the list.
|-->
<pluginGroups>
<!-- pluginGroup
| Specifies a further group identifier to use for plugin lookup.
<pluginGroup>com.your.plugins</pluginGroup>
-->
</pluginGroups>
<!-- proxies
| This is a list of proxies which can be used on this machine to connect to the network.
| Unless otherwise specified (by system property or command-line switch), the first proxy
| specification in this list marked as active will be used.
|-->
<proxies>
<!-- proxy
| Specification for one proxy, to be used in connecting to the network.
|
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<username>proxyuser</username>
<password>proxypass</password>
<host>proxy.host.net</host>
<port>80</port>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
-->
</proxies>
<!-- servers
| This is a list of authentication profiles, keyed by the server-id used within the system.
| Authentication profiles can be used whenever maven must make a connection to a remote server.
|-->
<servers>
<!-- server
| Specifies the authentication information to use when connecting to a particular server, identified by
| a unique name within the system (referred to by the 'id' attribute below).
|
| NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are
| used together.
|
<server>
<id>deploymentRepo</id>
<username>repouser</username>
<password>repopwd</password>
</server>
-->
<!-- Another sample, using keys to authenticate.
<server>
<id>siteServer</id>
<privateKey>/path/to/private/key</privateKey>
<passphrase>optional; leave empty if not used.</passphrase>
</server>
-->
</servers>
<!-- mirrors
| This is a list of mirrors to be used in downloading artifacts from remote repositories.
|
| It works like this: a POM may declare a repository to use in resolving certain artifacts.
| However, this repository may have problems with heavy traffic at times, so people have mirrored
| it to several places.
|
| That repository definition will have a unique id, so we can create a mirror reference for that
| repository, to be used as an alternate download site. The mirror site will be the preferred
| server for that repository.
|-->
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
</mirrors>
<!-- profiles
| This is a list of profiles which can be activated in a variety of ways, and which can modify
| the build process. Profiles provided in the settings.xml are intended to provide local machine-
| specific paths and repository locations which allow the build to work in the local environment.
|
| For example, if you have an integration testing plugin - like cactus - that needs to know where
| your Tomcat instance is installed, you can provide a variable here such that the variable is
| dereferenced during the build process to configure the cactus plugin.
|
| As noted above, profiles can be activated in a variety of ways. One way - the activeProfiles
| section of this document (settings.xml) - will be discussed later. Another way essentially
| relies on the detection of a system property, either matching a particular value for the property,
| or merely testing its existence. Profiles can also be activated by JDK version prefix, where a
| value of '1.4' might activate a profile when the build is executed on a JDK version of '1.4.2_07'.
| Finally, the list of active profiles can be specified directly from the command line.
|
| NOTE: For profiles defined in the settings.xml, you are restricted to specifying only artifact
| repositories, plugin repositories, and free-form properties to be used as configuration
| variables for plugins in the POM.
|
|-->
<profiles>
<!-- profile
| Specifies a set of introductions to the build process, to be activated using one or more of the
| mechanisms described above. For inheritance purposes, and to activate profiles via <activatedProfiles/>
| or the command line, profiles have to have an ID that is unique.
|
| An encouraged best practice for profile identification is to use a consistent naming convention
| for profiles, such as 'env-dev', 'env-test', 'env-production', 'user-jdcasey', 'user-brett', etc.
| This will make it more intuitive to understand what the set of introduced profiles is attempting
| to accomplish, particularly when you only have a list of profile id's for debug.
|
| This profile example uses the JDK version to trigger activation, and provides a JDK-specific repo.
<profile>
<id>jdk-1.4</id>
<activation>
<jdk>1.4</jdk>
</activation>
<repositories>
<repository>
<id>jdk14</id>
<name>Repository for JDK 1.4 builds</name>
<url>http://www.myhost.com/maven/jdk14</url>
<layout>default</layout>
<snapshotPolicy>always</snapshotPolicy>
</repository>
</repositories>
</profile>
-->
<!--
| Here is another profile, activated by the system property 'target-env' with a value of 'dev',
| which provides a specific path to the Tomcat instance. To use this, your plugin configuration
| might hypothetically look like:
|
| ...
| <plugin>
| <groupId>org.myco.myplugins</groupId>
| <artifactId>myplugin</artifactId>
|
| <configuration>
| <tomcatLocation>${tomcatPath}</tomcatLocation>
| </configuration>
| </plugin>
| ...
|
| NOTE: If you just wanted to inject this configuration whenever someone set 'target-env' to
| anything, you could just leave off the <value/> inside the activation-property.
|
<profile>
<id>env-dev</id>
<activation>
<property>
<name>target-env</name>
<value>dev</value>
</property>
</activation>
<properties>
<tomcatPath>/path/to/tomcat/instance</tomcatPath>
</properties>
</profile>
-->
</profiles>
<!-- activeProfiles
| List of profiles that are active for all builds.
|
<activeProfiles>
<activeProfile>alwaysActiveProfile</activeProfile>
<activeProfile>anotherAlwaysActiveProfile</activeProfile>
</activeProfiles>
-->
</settings>
這樣就創(chuàng)建成功了!
??3.2使用網(wǎng)頁(yè)創(chuàng)建
我們不僅可以采用idea創(chuàng)建spring boot項(xiàng)目,還可以采用網(wǎng)頁(yè)創(chuàng)建
在瀏覽器搜索頁(yè)面寫入start.spring.io
創(chuàng)建成功了,然后在idea打開(kāi)就好了
創(chuàng)建好之后要?jiǎng)h除無(wú)用目錄
??4.Spring Boot目錄工程介紹
快速添加依賴的辦法
使用edit starter插件
然后點(diǎn)擊要添加的依賴,點(diǎn)擊add即可添加依賴
??5.使用Spring Boot寫一個(gè)最簡(jiǎn)單的程序
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/user")
public class UserController {
@RequestMapping("/sayhi")
public String sayHi(){
return "Hi,Spring Boot.";
}
}
點(diǎn)擊運(yùn)行
Spring Boot設(shè)計(jì)思想是約定?于配置,類上標(biāo)注
@SpringBootApplication 就可以啟動(dòng) Spring Boot 項(xiàng)?
(下期解釋約定大于配置??)
??6.Spring Boot和Spring做對(duì)比
Spring Boot是基于Spring框架的一個(gè)輕量級(jí)開(kāi)發(fā)框架,目的是讓開(kāi)發(fā)Spring應(yīng)用變得更加簡(jiǎn)單快捷。Spring是一個(gè)完整的框架,包含了多個(gè)模塊,如Spring MVC、Spring Security等,提供了廣泛的功能支持。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-619620.html
Spring Boot | Spring | |
---|---|---|
開(kāi)發(fā)難度 | Spring Boot簡(jiǎn)化了Spring應(yīng)用的開(kāi)發(fā),不需要配置大量的XML文件,可以使用注解和自動(dòng)配置。 | Spring需要使用XML和注解配置,需要更多的配置和代碼編寫。 |
項(xiàng)目依賴 | Spring Boot提供了一個(gè)項(xiàng)目啟動(dòng)器(edit starter),包含了應(yīng)用開(kāi)發(fā)所需的常用依賴,可以快速構(gòu)建應(yīng)用 | Spring需要手動(dòng)配置依賴,需要更多的時(shí)間和精力。 |
應(yīng)用測(cè)試 | Spring Boot支持嵌入式服務(wù)器,可以很方便地進(jìn)行應(yīng)用測(cè)試 | Spring需要手動(dòng)啟動(dòng)服務(wù)器進(jìn)行測(cè)試,比較復(fù)雜。 |
性能 | Spring Boot在性能方面與Spring的表現(xiàn)相似,但Spring Boot可以更快地構(gòu)建和運(yùn)行應(yīng)用。 | 和Spring Boot 類似 |
適用場(chǎng)景 | Spring Boot適合快速構(gòu)建小型項(xiàng)目和原型應(yīng)用 | Spring適合大型項(xiàng)目和需要更多功能支持的應(yīng)用。 |
關(guān)于Spring Boot項(xiàng)目的創(chuàng)建和使用我們今天就講解到這里,我們下期將繼續(xù)深入學(xué)習(xí)它的其他知識(shí),下期見(jiàn)咯??文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-619620.html
到了這里,關(guān)于Spring Boot項(xiàng)目的創(chuàng)建的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!