IDEA創建SpringBoot,並實現、運行簡單實例


1.打開IDEA,點擊 +Create New Project. 開始創建一個新項目。

  

 

2.在左側菜單找到並點擊 Spring Initializr,點擊next。注意,這里idea默認使用https://start.spring.io提供的在線模板,所以需要保證網絡暢通。

當然也可以選擇下面的Custom從指定的鏈接加載模板。

       這時,就有小朋友要問了。要是沒網不就GG了,我還是用eclipse吧。放心,IDEA不可能這么菜。如何在本地搭建spring Initializr服務器,

請自行百度。后面會寫一篇教程,先在這里立個flag吧。

 

3.按實際情況依次填寫項目信息。其中Type屬性可以下拉選擇project或者pom,Packaging屬性可下拉選擇jar或者war(Maven的東西不需要再提了吧)。

填寫完畢后點擊 Next。

 

4.最激動人心的界面來了!!!你可以從左面選擇大類,然后在窗口中間勾選需要的依賴。右邊可以看到已選擇的依賴項。

上邊下拉框可以選擇Spring Boot的版本,這里使用最新版2.2.0 M4。完成后點擊 Next。

這里我選擇了“Web”類別下的“Spring Web Starter”、“Template”類別下的“Thymeleaf”以及“SQL”類別下的“Spring Data JPA”和“Mysql Driver”。

      

 

 5. 終於,最后一步了。設置項目名稱Project name 和 工程保存路徑 Project location。完成后,點擊 Finish。

 

 

 6.等待IDEA構建好項目后,項目結構如下圖所示。根據每個人在第4步選擇的依賴不同,目錄結構大同小異。

 

 7.再看看pom.xml,我們需要的依賴都靜靜的躺在里面。是不是so easy,媽媽再也不用擔心我找依賴了。

 

 

 8.寫個簡單頁面試試新建的工程好不好使。

spring boot,啟動。

 1. .gitignore:分布式版本控制系統git的配置文件,意思為忽略提交
在 .gitingore 文件中,遵循相應的語法,即在每一行指定一個忽略規則。 如:.log、/target/、.idea
2. mvnw:全名是maven wrapper的文件
它的作用是在maven-wrapper.properties文件中記錄你要使用的maven版本,當用戶執行mvnw clean 命令時,發現當前用戶的maven版本和期望的版本不一致,那么就下載期望的版本,然后用期望的版本來執行mvn命令,比如mvn clean命令。
3. mvn文件夾:存放mvnw相關文件
存放着maven-wrapper.properties和相關jar包以及名為MavenWrapperDownloader的java文件
4. mvn.cmd:執行mvnw命令的cmd入口
注:mvnw文件適用於Linux(bash),mv斜體樣式*nw.cmd適用於Windows 環境。
5. .iml文件:intellij idea的工程配置文件
里面包含當前project的一些配置信息,如模塊開發的相關信息,比如java組件,maven組件,插件組件等,還可能會存儲一些模塊路徑信息,依賴信息以及一些別的信息。
6. .idea文件夾:存放項目的配置信息
包括數據源,類庫,項目字符編碼,歷史記錄,版本控制信息等。
7. pom.xml:項目對象模型(核心重要)
pom.xml主要描述了項目的maven坐標,依賴關系,開發者需要遵循的規則,缺陷管理系統,組織和licenses,以及其他所有的項目相關因素,是項目級別的配置文件。

      9.訪問看看效果如何,http://localhost:8080 

啟動項目
Spring Boot通常有一個名為*Application的入口類,入口類里有一個main方法,這個main方法其實就是一個標准的Java應用的入口方法。在main方法中使用SpringApplication.run(PlamanagerApplication.class, args),啟動Spring Boot應用項目。

@SpringBootApplication
@SpringBootApplication是Spring Boot的核心注解它是一個組合注解:
@SpringBootApplication注解主要組合了
@Configuration
@EnableAutoConfiguration(讓Spring Boot根據類路徑中的jar包依賴為當前項目進行自動配置)
例如,添加了spring-boot-starter-web依賴,會自動添加Tomcat和SpringMVC的依賴,那么Spring Boot會對Tomcat和SpringMVC進行自動配置。
又如,添加了spring-boot-starter-data-jpa依賴,Spring Boot會自動進行JPA相關的配置。
Spring Boot會自動掃描@SpringBootApplication所在類的同級包以及下級包里的Bean。建議入口類放置的位置在groupId+arctifactID組合的包名下。
@ComponentScan主要就是定義掃描的路徑從中找出標識了需要裝配的類自動裝配到spring的bean容器中

springboot熱部署

spring-boot-devtools是一個為開發者服務的一個模塊,其中最重要的功能就是自動應用代碼更改到最新的App上面去。
原理是在發現代碼有更改之后,重新啟動應用,但是速度比手動停止后再啟動更快。
其深層原理是使用了兩個ClassLoader,一個Classloader加載那些不會改變的類(第三方Jar包),另一個ClassLoader加載會更改的類,稱為restart ClassLoader
,這樣在有代碼更改的時候,原來的restart ClassLoader被丟棄,重新創建一個restart ClassLoader,由於需要加載的類相比較少,所以實現了較快的重啟時間。
即devtools會監聽classpath下的文件變動,並且會立即重啟應用(發生在保存時機)

 

在Java的集成開發環境中,比如Eclipse、IDEA中,有常常有三種與編譯相關的選項Compile、Make、Build三個選項。這三個選項最基本的功能都是完成編譯過程。但又有很大的區別,區別如下:
1、Compile:只編譯選定的目標,不管之前是否已經編譯過。

2、Make:編譯選定的目標,但是Make只編譯上次編譯變化過的文件,減少重復勞動,節省時間。(具體怎么檢查未變化,這個就不用考慮了,IDE自己內部會搞定這些的)

3、Build:是對整個工程進行徹底的重新編譯,而不管是否已經編譯過。Build過程往往會生成發布包,這個具體要看對IDE的配置 了,Build在實際中應用很少,因為開發時候基本上不用,發布生產時候一般都用ANT等工具來發布。Build因為要全部編譯,還要執行打包等額外工 作,因此時間較長。


開啟idea自動make功能

CTRL + SHIFT + A --> 查找 make project automatically --> 選中

 

 CTRL + SHIFT + A --> 查找Registry --> 找到並勾選 compiler.automake.allow.when.app.running

 

 

  • 添加pom依賴

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>

  • 開啟熱部署

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--該配置必須-->
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>

Spring Data JPA簡介
JPA中文名Java持久層API,是JDK 5.0注解或XML描述對象-關系表的映射關系,並將運行期的實體對象持久化到數據庫中。
Spring Data JPA是Spring Data的一個子項目,它通過提供基於JPA的Repository極大地減少了JPA作為數據訪問方案的代碼量。
添加依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>

修改配置文件
springboot創建時默認給了一個application.properties配置文件,這個properties格式的文件,好像要多寫好多代碼,所以改用yml后綴的文件
application.yml

spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/hello?useUnicode=true&characterEncoding=utf-8
username: root
password: ******
jpa:
show-sql: true
database: mysql
hibernate:
ddl-auto: update
properties:
hibernate:
format_sql: true
只需要在pom.xml引入需要的數據庫配置,就會自動訪問此數據庫,如果需要配置其他數據庫,可以在application.yml
默認使用org.apache.tomcat.jdbc.pool.DataSource創建連接池


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM