Salesforce Apex 开发环境设置和Hello World示例
本文介绍了Salesforce Apex开发环境的设置以及一个简单的Hello World示例的实现过程。
Salesforce开发环境
Salesforce通过http://developer.force.com提供了一个云端的环境供开发者使用。提供电子邮件地址和基本的个人信息就可以注册开发者账户。
注册成功后,登录http://developer.force.com,在首页的用户名下点击My Settings > Personal > Reset My Security Token以获取秘匙。

Salesforce工具
开发Salesforce Apex应用有多种工具可供选择,官方提供的有两个,Force.com Developer Console和Force.com IDE, 本文使用Force.com IDE。
Force.com IDE是在Eclipse IDE基础上的一个插件,要求Eclipse 4.5及JDK 8及以上, 安装路径为https://developer.salesforce.com/media/force-ide/eclipse45。

创建Salesforce对象
点击Setup > Build > Create > Objects以创建一个Salesforce对象

命名新对象Book后Save

在Book对象页面的Custom Fields & Relationships中点击New以创建该对象的字段

选择字段类型为Text

输入字段名为Title后Next, 直到最后Save。
重复以上步骤再创建一个ISBN字段, 以及一个Language字段。
创建Apex Hello World 工程
首先在Eclipse中选择菜单Window > Open Perspective > Other > Force.com切换到Force.com Perspective。
首先选择菜单File > New > Force.com project以创建工程, 需要填写Force.com的用户名,密码以及秘匙。

选择缺省的Apex, Lighting and Visualforce工程内容

工程创建完毕

创建Apex Class和测试代码
在Eclipse工程中选择New Apex Class, 并命名为BookTools。

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。
创建Apex Trigger
在Book对象页面的Triggers中点击New以创建一个新的 Trigger

代码如下
trigger BookTrigge on Book__c (before insert) {
Book__c[] books = Trigger.new;
BookTools.processBookRecords(books);
}
测试Apex代码
在Eclipse菜单中选择Run > Run Configurations,在Apex Test下新建一个测试项,输入测试名称, 选择工程和Test Class, 并选择Use logging.

点击Run以运行选定的测试,运行结果和Log输出显示在Apex Test Results View中。

后记
- Force.com IDE 需要JDK 8及以上,如果系统默认的JDK在8以下的话,需要另行安装所需的JDK并修改
eclipse.ini以指定JDK路径
openFile
--launcher.appendVmargs
-vm
<path to javaw.exe>
-vmargs
Salesforce Apex 开发环境设置和Hello World示例的更多相关文章
- Hadoop集群(第7期)_Eclipse开发环境设置
1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0 ...
- Cocos开发中Visual Studio下HttpClient开发环境设置
Cocos2d-x 3.x将与网络通信相关的类集成到libNetwork类库工程中,这其中包括了HttpClient类.我们需要在Visual Studio解决方案中添加libNetwork类库工程. ...
- Cocos开发中Visual Studio下libcurl库开发环境设置
我们介绍一下win32中Visual Studio下libcurl库开发环境设置.Cocos2d-x引擎其实已经带有为Win32下访问libcurl库,Cocos2d-x 3.x中libcurl库文件 ...
- Visual Studio下SQLite数据库开发环境设置
由于我们介绍的内容都是基于微软的Visual Studio下开发的Win32平台,所以下边我们介绍Visual Studio下SQLite数据库开发环境设置.具体而言我们有两种方式可以在Visual ...
- Visual Studio 2012下Box2D开发环境设置
Cocos2d-x 3.x默认情况下采用的物理引擎是Chipmunk,如果我们要使用Box2D引擎,需要进行一些设置和调整,而且不同的开发平台下这些设置也有所不同.由于本书在此之前介绍的都是基于微软的 ...
- Cocos发育Visual Studio下一个HttpClient开发环境设置
Cocos2d-x 3.x相关类集成到网络通信libNetwork图书馆project于.这其中包括:HttpClient分类. 我们需要在Visual Studio溶液中加入libNetwork图书 ...
- Hadoop集群 -Eclipse开发环境设置
1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0 ...
- 2-5 Flutter开发环境与Android开发环境设置详解(Windows)
第二个是国内服务器的网址 andoid stuido的一些使用的说明文档 https://developer.android.google.cn/studio/intro 安装Flutter Dart ...
- python开发环境设置(windows)
python开发环境设置(windows) 1) python2.7.3安装 在www.python.org上下载python-2.7.6.amd64.msi软件.安装完毕后设置path路径.控制面 ...
随机推荐
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(42)-工作流设计-表建立
系列目录 工作流在实际应用中还是比较广泛,网络中存在很多工作流的图形化插件,可以做到拉拽的工作流设计,非常简便,再配合第三方编辑器,可以直接生成表单,我没有刻意的浏览很多工作流的实际设计,我认为工作流 ...
- 简简单单学会C#位运算
一.理解位运算 要学会位运算,首先要清楚什么是位运算?程序中的所有内容在计算机内存中都是以二进制的形式储存的(即:0或1),位运算就是直接对在内存中的二进制数的每位进行运算操作 二.理解数字进制 上面 ...
- ASP.NET MVC View 和 Web API 的基本权限验证
ASP.NET MVC 5.0已经发布一段时间了,适应了一段时间,准备把原来的MVC项目重构了一遍,先把基本权限验证这块记录一下. 环境:Windows 7 Professional SP1 + Mi ...
- Node学习笔记(二):事件驱动
接触Node,提得最多的可能就是回调,异步非阻塞处理,思前想后,JavaScript从前端语言过渡到服务器端,最大的劣势可能就是线程,当然这方面的不足现在也被慢慢弥补起来了(很多第三方的npm包可供下 ...
- SPI 2分频MOSI实现
module spi_25M(input clk,input rst_n,output reg sdin,output reg sclk,output reg cs);reg [7:0]cnt;reg ...
- Backbone.js 中的Model被Destroy后,不能触发success的一个原因
下面这段代码中, 当调用destroy时,backbone会通过model中的url,向服务端发起一个HTTP DELETE请求, 以删除后台数据库中的user数据. 成功后,会回调触发绑定到dest ...
- 前端渲染利器——JsRender入门
JsRender不少前端人员应该都用过,它是一个比较强大的模板,不牵涉太多技术依赖,使用起来非常舒服.我本人在前端开发中使用React之前,都是用的它了(实际上我感觉React没有JsViewes好用 ...
- C#、JAVA操作Hadoop(HDFS、Map/Reduce)真实过程概述。组件、源码下载。无法解决:Response status code does not indicate success: 500。
一.Hadoop环境配置概述 三台虚拟机,操作系统为:Ubuntu 16.04. Hadoop版本:2.7.2 NameNode:192.168.72.132 DataNode:192.168.72. ...
- 纯CSS3实现多层云彩变换飞行动画
查看效果:http://hovertree.com/texiao/css3/4/效果2 效果图: 代码如下: <!doctype html> <html lang="zh& ...
- 深刻理解:C#中的委托、事件
C#中的事件还真是有点绕啊,以前用JavaScript的我,理解起来还真是废了好大劲!刚开始还真有点想不明白为什么这么绕,想想和JS的区别,最后终于恍然大悟! C#中事件绕的根本原因: C#的方法,它 ...