本文介紹了Salesforce Apex開發(fā)環(huán)境的設(shè)置以及一個(gè)簡(jiǎn)單的Hello World示例的實(shí)現(xiàn)過(guò)程。

Salesforce開發(fā)環(huán)境

Salesforce通過(guò)http://developer.force.com提供了一個(gè)云端的環(huán)境供開發(fā)者使用。提供電子郵件地址和基本的個(gè)人信息就可以注冊(cè)開發(fā)者賬戶。

注冊(cè)成功后,登錄http://developer.force.com,在首頁(yè)的用戶名下點(diǎn)擊My Settings > Personal > Reset My Security Token以獲取秘匙。

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

Salesforce工具

開發(fā)Salesforce Apex應(yīng)用有多種工具可供選擇,官方提供的有兩個(gè),F(xiàn)orce.com Developer Console和Force.com IDE, 本文使用Force.com IDE。

Force.com IDE是在Eclipse IDE基礎(chǔ)上的一個(gè)插件,要求Eclipse 4.5及JDK 8及以上, 安裝路徑為https://developer.salesforce.com/media/force-ide/eclipse45。

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

創(chuàng)建Salesforce對(duì)象

登錄http://developer.force.com

點(diǎn)擊Setup > Build > Create > Objects以創(chuàng)建一個(gè)Salesforce對(duì)象

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

命名新對(duì)象BookSave

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

Book對(duì)象頁(yè)面的Custom Fields & Relationships中點(diǎn)擊New以創(chuàng)建該對(duì)象的字段

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

選擇字段類型為Text

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

輸入字段名為TitleNext, 直到最后Save

重復(fù)以上步驟再創(chuàng)建一個(gè)ISBN字段, 以及一個(gè)Language字段。

創(chuàng)建Apex Hello World 工程

首先在Eclipse中選擇菜單Window > Open Perspective > Other > Force.com切換到Force.com Perspective。

首先選擇菜單File > New > Force.com project以創(chuàng)建工程, 需要填寫Force.com的用戶名,密碼以及秘匙。

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

選擇缺省的Apex, Lighting and Visualforce工程內(nèi)容

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

工程創(chuàng)建完畢

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

創(chuàng)建Apex Class和測(cè)試代碼

在Eclipse工程中選擇New Apex Class, 并命名為BookTools。

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

BookTools類代碼如下

    public with sharing class BookTools {    
        public static void processBookRecords(Book__c[] books) {            for (Book__c book :books){
            
                System.debug('Process book record: ' + book.Title__c);    
            
                book.Language__c = 'TBD';
            }
        }
    }

在Eclipse工程中選擇New Apex Class, 并命名為BookToolsTest。

代碼如下

    @isTest
        public with sharing class BookToolsTest {            static testMethod void validateProcessBookRecords() {
                Book__c book = new Book__c(Title__c='Harry Potter and the Deathly Hallows', ISBN__c='9780545010221');
                System.debug('Create new book record: ' + book.Title__c);    
                
                insert book;
                
                Book__c updatedBook = [SELECT Language__c FROM Book__c WHERE Id =:book.Id];
                

                System.assertEquals('TBD', updatedBook.Language__c);    
            }
        }

在Eclipse工程中右鍵選擇Force.com > Save to Server

創(chuàng)建Apex Trigger

Book對(duì)象頁(yè)面的Triggers中點(diǎn)擊New以創(chuàng)建一個(gè)新的 Trigger

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

代碼如下

    trigger BookTrigge on Book__c (before insert) {
        Book__c[] books = Trigger.new;
        
        BookTools.processBookRecords(books);
    }

測(cè)試Apex代碼

在Eclipse菜單中選擇Run > Run Configurations,在Apex Test下新建一個(gè)測(cè)試項(xiàng),輸入測(cè)試名稱, 選擇工程和Test Class, 并選擇Use logging.

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

點(diǎn)擊Run以運(yùn)行選定的測(cè)試,運(yùn)行結(jié)果和Log輸出顯示在Apex Test Results View中。

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

后記

  1. Force.com IDE 需要JDK 8及以上,如果系統(tǒng)默認(rèn)的JDK在8以下的話,需要另行安裝所需的JDK并修改eclipse.ini以指定JDK路徑

    openFile
    --launcher.appendVmargs
    -vm
    <path to javaw.exe>    -vmargs