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路径.控制面 ...
随机推荐
- AHCI: Failed to attach drive to Port1 (VERR_GENERAL_FAILURE).
在mac操作系统下,安装VirtualBoxVm虚拟机,虚拟机里面安装wind7操作系统.在启动虚拟机的时候报错:AHCI: Failed to attach drive to Port1 (VERR ...
- 多线程映射工具——ThreadLocal
ThreadLocal相当于一个Map<Thread, T>,各线程使用自己的线程对象Thread.currentThread()作为键存取数据,但ThreadLocal实际上是一个包装了 ...
- 学习总结 之 WebApi服务监控 log4net记录监控日志
在请求WebApi 的时候,我们更想知道在请求数据的时候,调用了哪个接口传了什么参数过来,调用这个Action花了多少时间,有没有人恶意请求.我们可以通过记录日志,对Action进行优化,可以通过日志 ...
- 《你不知道的JavaScript》整理(二)——this
最近在读一本进阶的JavaScript的书<你不知道的JavaScript(上卷)>,这次研究了一下“this”. 当一个函数被调用时,会创建一个活动记录(执行上下文). 这个记录会包含函 ...
- Linux下的磁盘分割和文件系统
一.各硬件装置在Linux下的文件名 1.IDE硬盘机 在Linux内的文件名: /dev/hd[a-d] (a-d 刚好是四个这个是有原因的具体如下) 解释:以 IDE 接口来说,由于一个 IDE ...
- Oracle数据库验证IMP导入元数据是否会覆盖历史表数据
场景:imp导入数据时,最终触发器报错退出,并未导入存储过程.触发器.函数. 现在exp单独导出元数据,然后imp导入元数据,验证是否会影响已导入的表数据. 测试环境:CentOS 6.7 + Ora ...
- 安卓Design包之超强控件CoordinatorLayout与SnackBar的简单使用
在前面的Design中,学习使用了TabLayout,NavigationView与DrawerLayout实现的神奇效果,今天就带来本次Design包中我认为最有意义的控件CoordinatorLa ...
- APP测试入门篇之APP基础知识(001)
前言 最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...
- [Servlet] 初识Servlet
什么是Servlet? 定义 Servlet的全称是 Server Applet,顾名思义,就是用 Java 编写的服务器端程序. Servlet 是一个 Java Web开发标准,狭义的Servle ...
- java设计模式之简单工厂模式
简单工厂: 简单工厂的优点: 1.去除客户端与具体产品的耦合,在客户端与具体的产品中增加一个工厂类,增加客户端与工厂类的耦合 2.封装工厂类,实现代码平台的复用性,创建对象的过程被封装成工厂类,可以多 ...