java8+spring+angularjs 項目應用

來源:互聯網
上載者:User

標籤:

最近有寫一個電子訂單商務網站,使用JAVA8,SPRING,ANGULARJS對項目使用的技術和大家分享。

第一次寫部落格,哪有不對需要改正的請聯絡改正。

因為是項目是我給別人做的無法提供源碼見諒,我盡最大努力讓大家能看懂。

首先從項目的構建開始,我採用的gradle構建項目,使用的版本是2.4。

開發環境用的IDEA 14,項目資料庫使用的是SQL SERVER。

Spring Boot 技術文檔:http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle

你可以在這裡查看所有Boot的配置與技術開發,對於英文不好的建議大致瞭解,我後面會慢慢寫出來,慢慢瞭解,把我所知道的。

 

如何把spring boot 引入項目如下:

 

先看下Gradle Spring Boot 配置,採用的版本是最新1.2.3

buildscript {
ext {
springBootVersion = "1.2.3.RELEASE"
}
repositories {
mavenLocal()
jcenter()
maven { url "http://repo.spring.io/snapshot" }
maven { url "http://repo.spring.io/milestone" }
maven { url "http://repo.spring.io/plugins-release"}
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath("org.springframework:springloaded:${springBootVersion}")
classpath("org.springframework.build.gradle:propdeps-plugin:0.0.6")
}

}

apply plugin: "java"
apply plugin: "spring-boot"

這是一個gradle 基本的build.gradle設定檔。詳細你可以到gradle官網去瞭解使用它,跟它相同功能的有maven工具。Spring是支援這兩個外掛程式構建的。

 

配置我們項目使用的spring 組件:

 

它在build.gradle檔案代碼如下

dependencies {    compile("org.springframework.boot:spring-boot-starter-web")    testCompile("org.springframework.boot:spring-boot-starter-test")}

 

 

我們來看dependencies裡面的內容,compile是gradle裡面一個綁定資源方法,它可以把我們需要的資源套件以及依賴去附加元件目裡面。如果你使用IDEA14它會自動幫你配置,引用類,一切都是那麼簡單。

首先我們增加spring 的spring-boot-starter-web組件到項目裡面。

 

使用spring boot:

 

Spring boot 是一個高整合化對spring管理工具,它可以將spring的組件協調處理,讓你花更少的時間去配置spring.

首先我們在項目根目錄包src/main/java/com/demo/下建立一個Application.java類,應該是這樣的:

@SpringBootApplication@EnableSchedulingpublic class Application  {    public static void main(String[] args) {        SpringApplication.run(Application.class, args);    }}

 

@SpringBootApplication 這是spring boot 入口。

我們寫一個實體Bean,src/main/java/com/demo/ Greeting.java 如下:

package com.demo;public class Greeting {    private final long id;    private final String content;    public Greeting(long id, String content) {        this.id = id;        this.content = content;    }    public long getId() {        return id;    }    public String getContent() {        return content;    }}

 

 

接下來我們寫一個簡單的控制器controller,src/main/java/com/demo/GreetingController.java 如下:

package com.demo;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import java.util.concurrent.atomic.AtomicLong;@RestControllerpublic class GreetingController {    private static final String template = "Hello, %s!";    private final AtomicLong counter = new AtomicLong();    @RequestMapping("/greeting")    public Greeting greeting(@RequestParam(value = "name", defaultValue = "World") String name) {        return new Greeting(counter.incrementAndGet(),                String.format(template, name));    }}

 

 

@RestController表示這個控制器是rest的控制器,那麼它返回的不是我們常見的VIEW對象,它會自動把對象JSON,這是spring 預設的,後面會介紹如何返回其他類型(XML,excel,FILE)

 

到這裡我們已經寫了一個簡單的spring boot應用了。

 

運行spring boot 應用:

 

在IDEA裡面我們可以直接點擊Application類右鍵直接運行,但是這樣做我們不推薦,因為這樣運行你只是運行了本地的目錄配置,沒有用到spring boot的。

我們使用gradle 構建所以我們更推薦你使用gradle 去運行你的項目。在IDEA 裡面右邊你會找到gradle 的顯示視窗。就像剛一開始我們把spring boot 組件已經應用,gradle 設定檔build.gradle裡面了。

apply plugin: ‘java‘apply plugin: ‘idea‘apply plugin: ‘spring-boot‘

所以我們應該可以在gradle的tasks裡面找到application的程式組件。它們通常是這樣的:

而我們點擊bootRun 去運行它。

接下來我們在瀏覽器訪問

應該是這樣的。表示我們簡單的spring boot運行成功了。

 

下次我會更加深入講解,spring boot ,spring security,spring data 以及它的rest和jpa. 對於項目裡面使用的JAVA8 也會涉及一些

 

謝謝大家,第一次寫部落格,以前很少去寫部落格,不是那麼詳細,如果有不明白的和問題請給我留言吧,我會第一時間去回複你。

如果你也對JAVA感興趣,歡迎一起探討。今天就到這裡吧。

java8+spring+angularjs 項目應用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.