1. 程式人生 > >Jenkins 使用教程(持續整合開發)

Jenkins 使用教程(持續整合開發)

1 安裝 Jenkins

1.1 安裝 JDK/Maven

Jenkins 自身採用 Java 開發,所以要必須安裝 JDK; 
本文整合的專案基於 Maven 構架,所以 Maven 也必須安裝; 
兩者的安裝方法請參考我的另一篇文章:Tomcat 安裝及其單機多例項部署

export JAVA_HOME=/usr/java/jdk1.8.0_111
export MAVEN_HOME=/opt/apache-maven-3.3.9
  • 1
  • 2

1.2 安裝 Jenkins

以下四種方法任選一種,推薦第一種。

1.2.1 離線安裝

## http://pkg.jenkins-ci.org/redhat/
wget http://pkg.jenkins
-ci.org/redhat/jenkins-2.39-1.1.noarch.rpm ## 下載(也可以Windows下載再轉過來) sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins.io.key ## 公鑰 sudo yum -y install jenkins-*.noarch.rpm
  • 1
  • 2
  • 3
  • 4

1.2.2 線上安裝

## http://pkg.jenkins-ci.org/redhat/
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins
.io/redhat/jenkins.io.key sudo yum -y install jenkins
  • 1
  • 2
  • 3
  • 4

1.2.3 基於 Tomcat 安裝

  • 安裝並啟動 Tomcat;
  • 從官網下載 jenkins.war 至 $CATALINA_BASE/webapps,Tomcat 會自動部署;

1.2.4 免安裝方式

wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
sudo java -jar jenkens.war ## 啟動服務,直至看到日誌 `Jenkins is fully up and running`
curl http://localhost:8080
/ ## Jenkins 已就緒
  • 1
  • 2
  • 3

1.3 調整配置檔案

## sudo vim /etc/sysconfig/jenkins
JENKINS_USER="root" ## 原值 "jenkins" 必須修改,否則許可權不足
JENKINS_PORT="8080" ## 原值 "8080" 可以不修改
## 還有開啟 HTTPS 相關引數,此處不打算開啟,故不作說明
  • 1
  • 2
  • 3
  • 4

安裝目錄: /usr/lib/jenkins 
工作目錄: /var/lib/jenkins(對應於環境變數 JENKINS_HOME)

1.4 啟動

sudo systemctl enable jenkins
sudo systemctl restart jenkins
  • 1
  • 2

檢視日誌檔案: sudo tail -f /var/log/jenkins/jenkins.log

啟動後會生成檔案 hudson.model.UpdateCenter.xml,需要修改它, 
否則瀏覽器首次進入時會卡在“Jenkins 正在啟動,請稍後…”

## 原值: http://updates.jenkins-ci.org/update-center.json
## 新值: http://mirror.xmission.com/jenkins/updates/update-center.json
## 或者: http://mirror.xmission.com/jenkins/updates/current/update-center.json
sudo cat /var/lib/jenkins/hudson.model.UpdateCenter.xml
sudo sed -i 's/updates.jenkins-ci.org/mirror.xmission.com\/jenkins\/updates/g' /var/lib/jenkins/hudson.model.UpdateCenter.xml
sudo cat /var/lib/jenkins/hudson.model.UpdateCenter.xml
sudo systemctl restart jenkins
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

1.5 防火牆放行

### sudo vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
### 重啟生效: sudo systemctl restart iptables
  • 1
  • 2
  • 3

1.6 解除安裝

如果要重灌,或者本機不需要 Jenkins,可解除安裝:

sudo systemctl stop jenkins
sudo systemctl disable jenkins
sudo yum -y remove jenkins
sudo rm -rf /var/{lib,log,cache}/jenkins /usr/lib/jenkins /root/.jenkins
sudo rm -rf `sudo find /{etc,var,run} -name "jenkins*"`
  • 1
  • 2
  • 3
  • 4
  • 5

2 基本配置

2.1 登入

瀏覽器進入 http://centos:8080/ 
首次進入需要輸入初始密碼來解鎖,初始密碼檢視方法: sudo cat /var/lib/jenkins/secrets/initialAdminPassword 
jenkins unlock
進入 Jenkins 定製介面,讓選擇 Install suggested plugins 或 Select plugins to install 時,兩者都不要選,直接關閉,下一個介面點選“Start using Jenkins”; 
jenkins customize
修改登入密碼:主介面右上角“登出”連結的左邊的使用者名稱下拉選單中點“設定”。

2.2 安全設定

預設情況下,任何使用者都可以使用 Jenkins 進行釋出。 
可以進入相關設定:系統管理 / Configure Global Security, 
選擇 Jenkins專有使用者資料庫,不要選中 允許使用者註冊; 
選擇 登入使用者可以做任何事,選中 Allow anonymous read access

2.3 外掛安裝方法

2.3.1 離線安裝

2.3.2 線上安裝

進入:系統管理 / 管理外掛 / 可選外掛 
查詢並勾選所需外掛,點選“直接安裝”; 
無需重啟 Jenkins 外掛即生效。如遇失敗可重試或離線安裝。 
jenkins plugins

2.4 工具設定

進入:系統管理 / Global Tool Configuration 
JDK 下不勾選“自動安裝”,指定別名=JDK-1.8.0.111, JAVA_HOME=/usr/java/jdk1.8.0_111 
Maven 下不勾選“自動安裝”,指定別名=Maven-3.3.9, MAVEN_HOME=/opt/apache-maven-3.3.9 
點選 Save 按鈕。 
重啟 Jenkins 後生效:sudo systemctl restart jenkins 
jenkins tools

3 Maven(SVN) 專案接入

3.1 準備 SVN 原始碼

3.2 安裝相關外掛

3.3 新建構建專案

3.3.1 開始建立

主頁:點選“新建”; 
專案型別:輸入專案名稱 fastjson,型別選擇“構建一個Maven專案”(如果沒有此項可選,請檢查外掛“Maven Integration plugin”是否已安裝); 
jenkins create

3.3.2 原始碼管理

選擇“Subversion”(如果沒有此項可選,請檢查外掛“Subversion Plug-in”是否已安裝), 
倉庫URL可以指定 svn/http/https 之一,這裡指定 svn://centos/repo1/fastjson 
Credentials: 新增 SVN 使用者名稱密碼,並從下拉列表中選擇它。 
jenkins source

3.3.3 定時觸發構建

構建觸發器: 只選中 Build periodically, “日程表”格式與 crontab 相似但有細微差別,示例如下:

## 每行由 5 個值組成(空格或TAB分隔),分別表示分(0-59)、時(0-23)、日(1-31)、月(1-12)、周(0-7, 0/7=週日)
## "M,N" 表示M和N;"M-N" 表示範圍[M,N];"M-N/X" 表示範圍[M,N]內每隔X;"*/X" 表示整個範圍內每隔X
## 前面提到的M/N/X的值都可以用H(意為Hash)代替,雜湊值起到隨機值的效果,且同一專案取值穩定,這對於專案多時分散壓力很有用。
H/10  H(0-8)  *  *  1-5   ## 觸發時間: 工作日、Hour為0~8按雜湊隨機、Minute以10為間隔
H/10  H       *  *  0,6,7 ## 觸發時間: 週末、Hour為全天按雜湊隨機、Minute以10為間隔
## “日程表”修改後,下方會給出下次執行時間點的預告。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

jenkins trigger

3.3.4 版本提交觸發構建

構建觸發器: 只選中 Poll SCM,可指定檢查 SVN 程式碼是否有提交的時間:

## 格式與 "Build periodically" 相同
H/10  *  *  *  *  ## 任何時候,每隔 30 分鐘就檢測一次 SVN,如果有提交就啟動構建
  • 1
  • 2

jenkins trigger

3.3.5 Build 設定

Root POM: 指定 pom.xml 相對路徑 
Goals and options: 指定 mvn 執行目標或選項,設定為 package -Dmaven.test.skip=true

3.3.6 Post Steps 設定

定製構建後的操作,通常選擇“Run only if build succeeds”,支援 shell 等指令碼;

## 指令碼工作目錄為: /var/lib/jenkins/workspace/fastjson
# sudo systemctl stop tomcat
# sudo cp -f target/*.war /opt/apache-tomcat-8.5.9/webapps/
# sudo systemctl start tomcat
ls -l target/*.?ar
  • 1
  • 2
  • 3
  • 4
  • 5

jenkins poststep

3.4 手工觸發構建

進入 My Views, 右側看到各個專案; 
點選進入關注的專案,點選左側的“立即構建”; 
jenkins build
開始構建或構建完畢後,左下方列出每次構建的連結,點選進入某次構建; 
點選左側的“Console Output”,可檢視構建日誌,如有報錯可以看到; 
jenkins console
糾正錯誤後,返回到工程,再次點選“立即構建”,直至構建成功; 
如有網路相關報錯,重試幾次也會成功。

4 開啟 Java 程式碼靜態檢查

4.1 安裝相關外掛

4.2 Maven 中設定外掛(pom.xml)

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

    <!-- ...... -->

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>3.0.4</version>
                <configuration>
                    <xmlOutput>true</xmlOutput>
                    <findbugsXmlOutput>true</findbugsXmlOutput>
                    <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>2.17</version>
                <configuration>
                    <linkXRef>false</linkXRef>
                    <failsOnError>true</failsOnError>
                    <consoleOutput>true</consoleOutput>
                    <configLocation>checkstyle.xml</configLocation>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>3.7</version>
                <configuration>
                    <linkXref>false</linkXref>
                </configuration>
            </plugin>
        </plugins>
    </reporting>
</project>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

4.3 修改 Jenkins 構建配置

jenkins findbugs config

4.3.1 設定 Maven

“Build”標籤頁,Goals and options 設定為: 
package -Dmaven.test.skip=true findbugs:findbugs checkstyle:checkstyle pmd:pmd

4.3.2 開啟相關報告

“構建設定”標籤頁,開啟以下三個選項: 
- Publish FindBugs analysis results 
- Publish Checkstyle analysis results 
- Publish PMD analysis results

4.4 構建後檢視報告

構建後進入構建頁面,從左邊點選檢視報告: 
- FindBugs Warnings 
- Checkstyle Warnings 
- PMD Warnings 
jenkins findbugs report

5 開啟郵件報告

Jenkins 的郵件傳送,原理與郵件客戶端一樣:把發件人的郵箱帳號、密碼、SMTP伺服器告訴 Jenkins,Jenkins 需要時使用該帳號向指定的收件人傳送郵件報告。

5.1 安裝相關外掛

Jenkins 自帶郵件外掛(Mailer Plugin)的功能很弱且無法自定製, 
需要安裝擴充套件郵件外掛: Email Extension Plugin

5.2 全域性統一設定

[email protected] 為例,如下圖設定: 
jenkins email-global

5.2.1 設定管理員郵箱

進入:系統管理 / 系統設定 / Jenkins Location 
系統管理員郵件地址 設為 [email protected]

5.2.2 設定發件人帳號

進入:系統管理 / 系統設定 / Extended E-mail Notification 
“SMTP server” 設為 smtp.company.com 
“Default user E-mail suffix” 設為 @company.com 
“Use SMTP Authentication” 選中 
“User Name” = [email protected](必須與管理員郵箱相同) 
“Password” = ** 
“Use SSL” = on 
“SMTP port” = 465 
“Charset” = UTF-8 
“Default Content Type” = HTML (text/html)

5.2.3 設定郵箱模板

Default Subject: 構建通知:PROJECTNAME#PROJECTNAME−#BUILD_NUMBER - $BUILD_STATUS 
Default Content:

本郵件由系統自動發出,請勿回覆!<br/>
<h2><font color="#CC0000">構建結果 - ${BUILD_STATUS}</font></h2>

<h4><font color="#0B610B">構建資訊</font></h4>
<hr size="2" width="100%" />
<ul>
    <li>專案名稱:${PROJECT_NAME} - #${BUILD_NUMBER}</li>
    <li>觸發原因:${CAUSE}</li>
    <li>專案 URL:<a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
    <li>構建 URL:<a href="${BUILD_URL}">${BUILD_URL}</a></li>
    <li>構建日誌:<a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
    <li>工作目錄:<a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
</ul>

<h4><font color="#0B610B">失敗用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>

<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
詳細提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>

<h4><font color="#0B610B">程式碼檢查</font></h4>
<hr size="2" width="100%" />
FindBugs:<a href="${BUILD_URL}findbugsResult">${BUILD_URL}findbugsResult</a><br/>
CheckStyle:<a href="${BUILD_URL}checkstyleResult">${BUILD_URL}checkstyleResult</a><br/>
PMD:<a href="${BUILD_URL}pmdResult">${BUILD_URL}pmdResult</a><br/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

也可以自定義 Jelly 模板,並在 Default Content 中引用 ${JELLY_SCRIPT, template="html_gmail"}

sudo mkdir -p /var/lib/jenkins/email-templates
sudo cd /var/lib/jenkins/email-templates
sudo wget https://github.com/jenkinsci/email-ext-plugin/raw/master/src/main/resources/hudson/plugins/emailext/templates/html_gmail.jelly
# 更多模板列表: https://github.com/jenkinsci/email-ext-plugin/tree/master/src/main/resources/hudson/plugins/emailext/templates
  • 1
  • 2
  • 3
  • 4

5.2.4 設定郵件觸發時機

點選 Default Triggers,比較好的方案是選中兩項: 
- Failure - Any ## 可定義“編譯失敗時”才向哪些人員發郵件(比如最近程式碼提交者) 
- Success ## 可定義“構建成功時”才向哪些人員發郵件(比如所有產品關注者)

5.2.5 郵件可用變數

點選 Content Token Reference 右側的問號圖示,可以看到各郵件模板中可引用變數的含義。

5.2.6 郵件未傳送問題排查

構建設定裡指定的收件人只是 kevin,沒有後續,希望採用外掛 Email Extension Plugin 中的郵箱字尾, 
卻發現構建日誌中報錯: Failed to send e-mail to kevin because no e-mail address is known, and no default e-mail domain is configured 
原來,擴充套件郵件外掛有BUG,使用的是自帶郵件外掛的字尾設定,而後者之前沒有設定。 
點選 儲存,儲存郵件全域性設定。

5.3 專案設定中啟用郵件

構建後操作步驟: 增加 Editable Email Notification(來自外掛 Email Extension Plugin)。下圖設定的效果是: 
- 構建失敗時,向上次成功構建之後導致構建失敗的 SVN 提交的人員傳送郵件; 
- 構建成功時,向上次成功構建之後有 SVN 提交的人員、還有“Project Recipient List”中的人員傳送郵件;

jenkins email-project

5.4 驗證構建報告郵件

分別按以下三種情形觸發構建,都能看到構建報告郵件: 
- 手工觸發:進入工程後,點選“立即構建”; 
- 定時觸發構建:“構建觸發器”只選中 Build periodically; 
- 版本提交觸發構建:“構建觸發器”只選中 Poll SCM。 
jenkins email-report

6 Java/JUnit 單元測試

6.1 Maven 中設定外掛(pom.xml)

<project ...>
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
            </plugin>
        </plugins>
    </reporting>
</project>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

6.2 修改 Jenkins 構建配置

“Build”標籤頁,Goals and options:確保去掉-Dmaven.test.skip=true即可。

6.3 構建後檢視單元測試報告

jenkins findbugs report

7 單元測試覆蓋率報告

7.1 安裝外掛

JaCoCo plugin:與外掛 Cobertura 一樣,用於生成覆蓋率報告,但比 Cobertura 更易用。

7.2 調整工程 pom.xml

    <build>
        <plugins>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.7.8</version>
                <executions>
                    <execution>
                        <id>prepare</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>report</id>
                        <phase>package</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

7.3 調整專案的構建設定

專案的構建設定 Post Build Action 中,增加 “Record JaCoCo coverage report”,並設定期望的覆蓋率閾值。 
jenkins jacoco-config

7.4 構建並檢視報告

構建完成後,點選本次構建頁的“Coverage Report”檢視報告: 
jenkins jacoco-report

8 更多有用外掛

  • Folders Plugin:可巢狀地定義資料夾來級別 views / jobs;
  • build timeout plugin:允許使用者中止耗時太久的構建;
  • Dingding[釘釘] Plugin:允許向阿里釘釘傳送構建通知;
  • TestNG Results Plugin: 用 TestNG 代替 JUnit;
  • Publish Over SSH: 通過SSH釋出檔案或執行命令(使用SFTP的SCP)。

相關推薦

Jenkins 使用教程持續整合開發

1 安裝 Jenkins1.1 安裝 JDK/MavenJenkins 自身採用 Java 開發,所以要必須安裝 JDK; 本文整合的專案基於 Maven 構架,所以 Maven 也必須安裝; 兩者的安裝方法請參考我的另一篇文章:Tomcat 安裝及其單機多例項部署export JAVA_HOME=/usr/

Gitlab安裝--jenkins安裝--持續整合+自動化部署

參考地址:http://blog.51cto.com/12832314/2140304 Gitlab+jenkins持續整合+自動化部署 環境: centos6.5 一,gitlab安裝 0,java環境部署

Java學習不走彎路教程23 整合SSM

整合SSM 一. 前言在前上一章教程中,我們實現了springmvc框架。本章將在上一章的基礎上,進一步擴充套件程式。 注:1.本文針對初學Java的同學訓練學習思路,請不要太糾結於細節問題。2.本文旨在達到拋磚引玉的效果,希望大家擴充套件本例子,以學到更多知識的精髓。 學習本章需要準備的知識:1.讀完

Git管理專案---教程實現團隊開發

史上最淺顯易懂的Git教程! 為什麼要編寫這個教程?因為我在學習Git的過程中,買過書,也在網上Google了一堆Git相關的文章和教程,但令人失望的是,這些教程不是難得令人髮指,就是簡單得一筆帶過,或者,只支離破碎地介紹Git的某幾個命令,還有直接從Git手冊貼上幫助

Asp.net Core 使用Jenkins + Dockor 實現持續整合、自動化部署:部署

前面又是廢話 我之前寫過: Asp.Net Core 程式部署到Linux(centos)生產環境(一):普通部署 Asp.Net Core 程式部署到Linux(centos)生產環境(二):docker部署 大家可能會有疑問,分散式環境當中的部署還是跟我們在windows一樣,一臺機一臺機的去

Asp.net Core 使用Jenkins + Dockor 實現持續整合、自動化部署Jenkins安裝

寫在前面 其實園子裡很多大佬都寫過,我也是一個搬運工很多東西不是原創的,不過還是想把自己安裝的過程,記錄下來如果能幫到大家的忙,也是一件功德無量的事; 執行環境 centos:7.2 cpu:1核 2G記憶體 1M頻寬 其實用的騰訊雲 安裝jenkins 這裡的jenkins就不從docker

Java 7: 全面教程-1.3 整合開發環境IDEs

1.3整合開發環境(IDEs) 你完全可以用文字編輯器來寫Java 程式。但是,IDE會更方便。它不僅僅可以檢查你的程式碼語法,還可以自動填寫程式碼,檢測,和除錯你的程式。另外,在你輸入的時候就自動編譯了,還有執行Java程式只要點選個按鈕就行。這樣,可以節省你很多時間。 Java IDEs

Python + Allure報告+ Jenkins持續整合介面自動化測試環境搭建

(這個是內部分享文件,側重於測試報告的生成以及持續整合,至於介面框架的內部組織可以按照自己的想法來實現,有問題歡迎留言) 1.環境: • 作業系統:windows 64位 • 軟體環境:python3.4.4;jdk1.8;jenkins1.65

Java配置maven+jenkins+gitsvn+tomcat自動編譯和部署持續整合

目的 在開發中,需要經常頻繁的對測試伺服器進行部署,而且在多人協同中開發經常遇到的問題就是別人更新了他的程式碼,而你去更新你的程式碼時並沒有更新到別人的程式碼,導致測試環境的程式碼不是最新,當然這個問題也好解決,那就是每次更新的時候先獲取版本控制器上面的程式碼,然後更新

CI持續整合Jenkins+Gitlab的基本配置

CI的先關概念 持續整合Continuous Integration 持續交付Continuous Delivery 持續部署Continuous Deployment git & github & gitlab

Jenkins搭建Maven專案整合開發環境原始碼庫 Gitlab

安裝Jenkins 注意:安裝路徑最好選擇沒有空格和特殊符號的路徑,以避免後面踩坑 附:Jenkins官網下載 配置Jenkins 安裝完成後開啟瀏覽器輸入http:

Jenkins 可擴充套件持續整合引擎全流程自動構建-自動部署

Jenkins是一個開源軟體專案,是基於Java開發的一種持續整合工具,用於監控持續重複的工作,旨在提供一個開放易用的軟體平

【K8S】基於Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持續整合交付環境環境搭建篇

## 寫在前面 > 最近在 K8S 1.18.2 版本的叢集上搭建DevOps環境,期間遇到了各種坑。目前,搭建環境的過程中出現的各種坑均已被填平,特此記錄,並分享給大家! ## 伺服器規劃 | IP | 主機名 | 節點 | 作業系統 | |

SpringMVC詳細示例實戰教程較全開發教程

服務 出現 匹配 internal int 頁面 pty ava 代碼 SpringMVC學習筆記---- 一、SpringMVC基礎入門,創建一個HelloWorld程序 1.首先,導入SpringMVC需要的jar包。 2.添加Web.xml配置文件中關於Spring

SSM框架——詳細整合教程Spring+SpringMVC+MyBatis轉載http://blog.csdn.net/zhshulin/article/details/23912615

rop 用戶名 file .org 我們 XML model lib targe 這兩天需要用到MyBatis的代碼自動生成的功能,由於MyBatis屬於一種半自動的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由於手寫映射文件很容易出錯,所以可利用MyBa

SSM框架——詳細整合教程Spring+SpringMVC+MyBatis

r.js lai action body south 日誌輸出 aop pes 完整 使用SSM(Spring、SpringMVC和Mybatis)已經有三個多月了,項目在技術上已經沒有什麽難點了,基於現有的技術就可以實現想要的功能,當然肯定有很多可以改進的地方。之前沒有

【資源下載】分享個嵌入式開發的入門教程包含視頻

gpt water term href jsb sdn ast csdn gravity 基於ARM A17的嵌入式開發的入門開發教程,有興趣的朋友可下載或者在線觀看 開發教程:http://wiki.t-firefly.com 視頻教程:https://pan.baid

SSM三大框架整合詳細教程Spring+SpringMVC+MyBatis

json轉換 需要 acc log4 err ppi junit測試 日誌 enc 使用 SSM ( Spring 、 SpringMVC 和 Mybatis )已經有三個多月了,項目在技術上已經沒有什麽難點了,基於現有的技術就可以實現想要的功能,當然肯定有很多可以改進的地

小程序開發快速入門教程附源碼

五分鐘上手-微信小程序 1:用沒有註冊過微信公眾平臺的郵箱註冊一個微信公眾號, 申請帳號 ,點擊 https://mp.weixin.qq.com/wxopen/waregister?action=step1 根據指引填寫信息和提交相應的資料,就可以擁有自己的小程序帳號。註冊完成之後開始登

golang開發常用開源項目工具持續更新中

golang開源項目 golang工具 本人在日常golang項目開發中,用到了一些第三方開源庫,大多都是優秀的開源項目,源碼值得認真閱讀研究。在此記錄用到的一些庫:解析配置文件go-ini https://github.com/go-ini/inigolang開發常用開源項目工具(持續更新中)