DreamFactory入门指南 - 第2章安装和配置DreamFactory
第2章安装和配置DreamFactory
在本章中,您将学习如何安装和配置DreamFactory。提供了许多安装解决方案,包括GitHub存储库,点击式安装程序,Docker容器和特定于云的安装程序。在做出决定之前,请务必仔细阅读这些选项,因为根据您的具体情况,某些选项可能比其他选项更合适。
#选择DreamFactory版本
无论您是想在本地笔记本电脑上,在AWS或Google Cloud或Docker等云环境中启动DreamFactory实例,我们都能为您提供现成的解决方案!
#在DreamFactory GitHub的库
克隆DreamFactory的OSS存储库一直是迄今为止最流行的访问软件的方式。要克隆存储库,您需要在本地计算机或服务器上安装Git客户端,此时可以使用以下命令克隆它:
$ git clone https://github.com/dreamfactorysoftware/dreamfactory/
DreamFactory建立在非常受欢迎的Laravel框架之上,后者又在PHP上构建。这意味着DreamFactory在所有托管环境中几乎无处不在; 您只需要确保您的托管环境运行PHP 7.1或更高版本,最新版本的Web服务器(如Apache或NGINX),访问四个数据库之一以存储配置数据(MySQL / MariaDB,PostgreSQL,SQLite,和MS SQL Server都支持),并且您有足够的权限来安装一些必需的PHP扩展。您可以通过我们的wiki了解有关所需软件和扩展的更多信息:
http://wiki.dreamfactory.com/DreamFactory/Installation#GitHub
#Docker
我们的Docker容器越来越受欢迎,包括运行DreamFactory所需的一切,包括Ubuntu 16.04,PHP 7.1和NGINX Web服务器。它还包括所有必需的PHP扩展,这意味着您应该能够尽快开始尝试使用最新的DreamFactory版本!要了解有关容器的更多信息,请访问我们的df-docker存储库:
https://github.com/dreamfactorysoftware/df-docker
#Bitnami
许多用户只是想要评估DreamFactory而无需花费任何时间或精力来购买测试服务器或摆弄配置问题。如果你属于这个类别,那么我们的Bitnami点击式安装程序适合你!这些虚拟机包括开始运行DreamFactory所需的一切,包括内置数据库服务器,Web服务器,PHP运行时以及一堆其他有用的软件。
安装程序适用于Linux,Windows和Mac OS X.通过以下链接下载所需的版本:
https://www.dreamfactory.com/downloads
#云图
云环境是目前选择的托管解决方案,并且有充分的理由。云服务提供商提供无与伦比的稳定性,性能和安全性,以及无数的附加功能,能够最大限度地提高IT团队的效率,同时最大限度地降低成本。DreamFactory提供针对所有主要云提供商的Bitnami图像,包括AWS,Azure,Google和Oracle Cloud。通过以下链接下载您想要的版本:
https://www.dreamfactory.com/downloads
#从Source安装和配置DreamFactory
如果您已经克隆了GitHub存储库,那么在启动DreamFactory实例之前,您需要执行一些额外的步骤。第一步涉及确保满足您的服务器要求。让我们先解决这些问题,然后概述软件安装。
#配置您的服务器
警告
本指南正在大力发展,某些部分已经完成。我们建议您阅读此处提供的当前安装文档。
服务器配置将根据您的操作系统而有所不同。为了确保说明尽可能具体和直截了当,我们将它们分解为子章节:
- Debian / Ubuntu
如果您计划将PHP与以下某个数据库结合使用,请查看下面显示的相关子章节:
- Microsoft SQL Server
- SAP SQL Anywhere
- 火鸟
#安装DreamFactory
第一步是使用Composer安装所需的PHP包:
$ composer install --no-dev
该--no-dev
选项告诉Composer不安装特定于开发的依赖项。我们的OSS社区和内部开发人员都使用这些开发依赖项来协助软件开发。您可以通过打开composer.json
项目根目录中的文件来查看必需和开发依赖项的列表。
如果您收到错误Your requirements could not be resolved to an installable set of packages
,并且您不需要MongoDB,那么您可以通过--ignore-platform-reqs
在运行Composer时另外提供选项来快速解决问题。
安装软件包后,接下来需要配置系统数据库。此数据库将包含与您的实例关联的各种配置设置。DreamFactory为此目的支持四个数据库,包括Microsoft SQL Server,MySQL,PostgreSQL和SQLite。请记住,您需要首先创建此数据库以及DreamFactory将用于连接到它的帐户。
您将通过运行terminal命令并回答有关数据库配置的一些提示来配置系统数据库。
为此,请从项目的根目录中运行以下命令:
$ php artisan df:env
**************************************************
* Configuring DreamFactory...
**************************************************
Created .env file with default configuration.
Created phpunit.xml with default configuration.Which database would you like to use for system tables? [sqlite]:[0] sqlite[1] mysql[2] pgsql[3] sqlsrv> 1Enter your mysql Host:> 192.168.10.10Enter your Database Port [3306]:> Enter your database name:> dreamfactoryEnter your database username:> dreamfactory_userEnter your database password:> Re-enter your database password:> CACHE DRIVER is not supported. Using default driver file.
Configuration complete!
************************* WARNING! **************************
*
* Please take a moment to review the .env file. You can make any
* changes as necessary there.
*
* Please run "php artisan df:setup" to complete the setup process.
*
*************************************************************
配置系统数据库后,就可以创建系统表和种子数据,然后创建第一个系统管理员帐户。这是通过运行df:setup
命令来完成的。由于此命令涉及多个提示,因此我将命令输出分解为几个部分。运行后df:setup
,该命令将立即创建数据库表和种子数据:
$ php artisan df:setup
*********************************************
* Welcome to DreamFactory Setup.
*********************************************
Running Migrations...
Migration table created successfully.
Migration driver used: sqlite
Migrating: 2015_01_27_190908_create_system_tables
Migrated: 2015_01_27_190908_create_system_tables
Migrating: 2015_01_27_190909_create_db_extras_tables
Migrated: 2015_01_27_190909_create_db_extras_tables
...
Migrating: 2018_01_23_155210_script_implements_access_list
Migrated: 2018_01_23_155210_script_implements_access_list
Migrating: 2018_01_29_030233_create_bitbucket_config_table
Migrated: 2018_01_29_030233_create_bitbucket_config_table
Migration completed successfully.
*********************************************
*********************************************
Running Seeder...
Seeding: AppSeeder
App resources created: admin, api_docs, file_manager
Seeding: EmailTemplateSeeder
Email Template resources created: User Invite Default, User Registration Default, Password Reset Default
Service resources created: system, api_docs, files, logs, db, email
System service updated.
Service resources created: user
All tables were seeded successfully.
接下来,系统将提示您创建第一个系统管理帐户:
Creating the first admin user...Enter your first name:> JasonEnter your last name:> GilmoreEnter your email address?:> jason.gilmore@dreamfactory.comChoose a password:> Re-enter password:> Successfully created first admin user.
最后,系统会提示您确保正确配置了应用程序storage
和bootstrap/cache
目录。这涉及使用chown
和chmod
命令确保正确设置目录所有权和权限:
* Please make sure following directories and all directories under
* them are readable and writable by your web server
* -> storage/
* -> bootstrap/cache/
* Example:
* > sudo chown -R {www user}:{your user group} storage/ bootstrap/cache/
* > sudo chmod -R 2775 storage/ bootstrap/cache/
该{www user}
字符串是Web服务器守护程序所有者的所有者的占位符。该{your user group}
字符串是Web服务器组守护程序所有者的占位符。
在此提示后,您将立即获知成功设置:
**********************************************************
******************** Setup Successful! *******************
**********************************************************
* Setup is complete! Your instance is ready. Please launch
* your instance using a browser. You can run "php artisan serve"
* to try out your instance without setting up a web server.
**********************************************************
如果您已安装并配置DreamFactory以在Web服务器上运行,则可以打开浏览器并导航到IP地址或域名。否则,如果尚未安装Web服务器,则可以运行php artisan serve
:
$ php artisan serve
Laravel development server started: <http://127.0.0.1:8000>
这将启动一个在127.0.0.1
端口上运行的简单PHP服务器8000
。打开浏览器并导航到http://127.0.0.1:8000
,您应该看到以下屏幕:
#介绍.env文件
根据运行应用程序的环境提供不同的配置值通常很有帮助。例如,您可能希望在本地使用不同的缓存驱动程序,而不是在生产服务器上使用。
为了使这个变得简单,Laravel使用了Vance Lucas 的DotEnv PHP库。在新的Laravel安装中,应用程序的根目录将包含一个.env.example
文件。如果您通过Composer安装Laravel,则此文件将自动重命名为.env
。否则,您应该手动重命名该文件。有关更多信息,请参阅Laravel的官方文档。
Lavvel Docs on .env
#启用调试和日志记录
默认情况下,DreamFactory不启用调试。调试虽然是帮助监控应用程序的一个很好的工具,但它可以是生产环境中的一个大型性能接收器。在.env
下面的示例文件中,您可以看到这些选项的位置。
<span style="color:#2c3e50"><span style="color:#cccccc"><code><span style="color:#999999">##==============================================================================</span>
<span style="color:#999999">## Environment Settings</span>
<span style="color:#999999">##==============================================================================</span><span style="color:#999999">## Use the installer.sh file in this directory to easily edit these settings.</span>
<span style="color:#999999">## By default each setting is set to its internal default and commented out.</span><span style="color:#999999">##------------------------------------------------------------------------------</span>
<span style="color:#999999">## Application Settings</span>
<span style="color:#999999">##------------------------------------------------------------------------------</span><span style="color:#999999">## Application name used in email templates and other displays</span>
<span style="color:#999999">#APP_NAME=DreamFactory</span>
<span style="color:#999999">## Encryption cipher options are AES-128-CBC or AES-256-CBC (default)</span>
<span style="color:#999999">#APP_CIPHER=AES-256-CBC</span>
<span style="color:#999999">## Return debugging trace in exceptions: true or false (default)</span>
<span style="color:#999999">#APP_DEBUG=false</span>
<span style="color:#999999">## Environment this installation is running in: local, production (default)</span>
<span style="color:#f8c555">APP_ENV</span><span style="color:#67cdcc">=</span>local
<span style="color:#999999">## Use 'php artisan key:generate' to generate a new key. Key size must be 16, 24 or 32.</span>
<span style="color:#f8c555">APP_KEY</span><span style="color:#67cdcc">=</span>base64<span style="color:#cccccc">:</span><span style="color:#f8c555">YOUR_APP_KEY</span>
<span style="color:#999999">#APP_LOCALE=en</span>
<span style="color:#999999">## LOG setting. Where and/or how the log file is setup. Options are single (default), daily, syslog, errorlog</span>
<span style="color:#f8c555">APP_LOG</span><span style="color:#67cdcc">=</span>daily
<span style="color:#999999">## LOG Level. This is hierarchical and goes in the following order.</span>
<span style="color:#999999">## DEBUG -> INFO -> NOTICE -> WARNING -> ERROR -> CRITICAL -> ALERT -> EMERGENCY</span>
<span style="color:#999999">## If you set log level to WARNING then all WARNING, ERROR, CRITICAL, ALERT, and EMERGENCY</span>
<span style="color:#999999">## will be logged. Setting log level to DEBUG will log everything.</span>
<span style="color:#f8c555">APP_LOG_LEVEL</span><span style="color:#67cdcc">=</span>debug
<span style="color:#999999">## When APP_LOG is set to 'daily', this setting dictates how many log files to keep.</span>
<span style="color:#f8c555">APP_LOG_MAX_FILES</span><span style="color:#67cdcc">=</span><span style="color:#f08d49">5</span>
<span style="color:#999999">## PHP Date and Time function timezone setting</span>
<span style="color:#999999">#APP_TIMEZONE=UTC</span>
<span style="color:#999999">## External URL representing this install</span>
<span style="color:#999999">#APP_URL=http:</span><span style="color:#999999">//127.0.0.1:8000</span>
<span style="color:#999999">## The starting point (page, application, etc.) when a browser points to the server root URL,</span>
<span style="color:#999999">#DF_LANDING_PAGE=/dreamfactory/dist/index.html</span>
<span style="color:#f8c555">DF_LICENSE_KEY</span><span style="color:#67cdcc">=</span><span style="color:#f8c555">YOUR_LICENSE_KEY</span>
</code></span></span>
在努力使您的环境正常运行时,DreamFactory建议开启调试,并提高日志记录环境的灵敏度。要打开应用程序调试,请取消注释并更改以下值:
<span style="color:#2c3e50"><span style="color:#cccccc"><code><span style="color:#f8c555">APP_DEBUG</span><span style="color:#67cdcc">=</span><span style="color:#f08d49">true</span>
</code></span></span>
要修改日志记录值,您需要取消注释并修改以下代码片段:
<span style="color:#2c3e50"><span style="color:#cccccc"><code><span style="color:#f8c555">APP_LOG</span><span style="color:#67cdcc">=</span>daily
<span style="color:#f8c555">APP_LOG_LEVEL</span><span style="color:#67cdcc">=</span>debug
<span style="color:#f8c555">APP_LOG_MAX_FILES</span><span style="color:#67cdcc">=</span><span style="color:#f08d49">5</span>
</code></span></span>
#启用电子邮件注册
在创建新用户和管理员时,为每个用户和管理员设置密码并不理想。要解决此问题,您可以启用电子邮件注册,以便能够选择“发送电子邮件邀请”。这将向新用户发送包含指向您实例的链接的电子邮件邀请,并允许他们自己设置密码。
您需要.env
将以下行添加到您的文件中,然后您可以立即注册新用户!
<span style="color:#2c3e50"><span style="color:#cccccc"><code><span style="color:#f8c555">MAIL_DRIVER</span><span style="color:#67cdcc">=</span>smtp
<span style="color:#f8c555">MAIL_HOST</span><span style="color:#67cdcc">=</span>smtp<span style="color:#cccccc">.</span>gmail<span style="color:#cccccc">.</span>com
<span style="color:#f8c555">MAIL_PORT</span><span style="color:#67cdcc">=</span><span style="color:#f08d49">587</span>
<span style="color:#f8c555">MAIL_USERNAME</span><span style="color:#67cdcc">=</span><span style="color:#f8c555">YOUR_EMAIL</span>@gmail<span style="color:#cccccc">.</span>com
<span style="color:#f8c555">MAIL_PASSWORD</span><span style="color:#67cdcc">=</span><span style="color:#f8c555">YOUR_PASSWORD</span>
</code></span></span>
#增加会话生命周期
出于安全考虑,DreamFactory会议仅限60分钟。但是,您可以通过打开.env
文件并查找以下变量将生命周期更改为任何所需的持续时间:
#DF_JWT_TTL = 60
更改DF_JWT_TTL
为您需要的任何持续时间,以分钟为单位。例如,以下设置将使您的会话持续一周:
DF_JWT_TTL = 10080
#更新DreamFactory Docker环境
我们的DreamFactory环境仍在进行中,但由于Docker的简化配置和部署功能,许多用户正在积极地使用它。有时您会想要更新到更新版本的DreamFactory,因此我们已经汇总了以下说明作为指南。
警告
您可能正在阅读本节,目的是升级DreamFactory生产环境。与任何软件一样,升级生产环境可能会出现问题,因此在尝试升级之前,建议您拥有易于访问的文件和系统数据库备份和恢复计划。你被警告了!
首先打开终端并输入DreamFactory实例的根目录。然后执行以下命令:
$ docker-compose exec web cat .env | grep APP_KEY
APP_KEY=base64:U/En8zI8WKrZ/F7CA9KncWjGTIhbvpGD5wN3eLoDZuQ=
...
将返回几行输出,但是您应该只将开头的行复制APP_KEY
到文本文件中。请记住,您至少需要复制该APP_KEY
值。如果您已覆盖其他默认值,例如与系统数据库关联的类型,位置和凭据,则还需要复制这些默认值。执行此步骤非常重要,否则您将遇到各种与升级相关的问题。
接下来,运行以下命令:
$ git tag --list
2.1
2.14.1
2.2
2.2.1
...
这将显示所有标记的版本。首先停止正在运行的DreamFactory容器而不删除它。请记住,运行此命令时,DreamFactory实例将脱机,直到升级过程完成:
$ docker-compose stop
Stopping df-docker_web_1 ... done
Stopping df-docker_mysql_1 ... done
Stopping df-docker_redis_1 ... done
出于本示例的目的,我们假设您运行2.12并且想要升级到2.14.1。为此,您首先要查看2.14.1标记:
$ git checkout tags/2.14.1
接下来,您需要将其添加APP_KEY
到docker-compose.yml
文件中。docker-compose.yml
在您喜欢的代码编辑器中打开,向下滚动到该web
服务,并将APP_KEY
属性和关联值与其他环境变量一起添加:
...
DB_DATABASE: dreamfactory
APP_KEY: 'base64:U\/En8zI8WKrZ\/F7CA9KncWjGTIhbvpGD5wN3eLoDZuQ='
CACHE_DRIVER: redis
...
警告
将APP_KEY
值封装在单引号中是至关重要的,另外还要使用反斜杠转义出现在键中出现的任何正斜杠!例如,将APP_KEY
上面找到的条目与之前显示的输出进行比较。
保存这些更改,然后使用以下命令重建容器:
$ docker-compose up -d --build
完成后,您可以运行以下命令以确认容器已启动并正在运行:
$ docker-compose psName Command State Ports
--------------------------------------------------------------------------------
df-docker_mysql_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp
df-docker_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp
df-docker_web_1 /docker-entrypoint.sh Up 0.0.0.0:80->80/tcp
如果出现问题,并且其中一个容器指示已退出,则可以查看该容器的日志:
$ docker-compose logs web
假设容器已启动并运行,您接下来要确定DreamFactory系统数据库架构是否已更改。为此,请运行以下命令:
$ docker-compose exec web php artisan migrate:status
如果您Y
在表格输出的Ran?
列中看到,则架构未更改。如果您N
在任何时候看到,那么您将需要运行以下命令来更新系统数据库模式:
$ docker-compose exec web php artisan migrate
最后,您需要通过执行以下命令来清除应用程序和配置缓存:
$ docker-compose exec web php artisan config:clear
Configuration cache cleared!$ docker-compose exec web php artisan cache:clear
Cache cleared successfully.
完成后,在浏览器中打开DreamFactory实例,并确认环境是否正常运行。
#在CentOS上安装和配置DreamFactory
首先我拉入CentOS Docker镜像。
docker pull centos
然后我以分离状态启动图像。
docker run -itd {Container_ID}
一旦图像运行,我们就可以执行它并开始安装DreamFactory。
docker exec -it {Container_ID} /bin/bash
#使用DreamFactory安装脚本
我们将使用可在此处找到的安装脚本,而不是花时间复制和粘贴一长串命令。
首先,我们必须使用脚本将脚本放入容器中wget
。
wget -O cent.sh {RAW_GITHUB_SCRIPT_URL}
既然我们的服务器上有脚本,那就让它可执行。
chmod +x cent.sh
我们现在可以运行脚本,但首先让我们看看其他配置标志。您可以将几个选项传递给脚本以更改其行为。如果您不使用这些选项,脚本将安装Nginx Web服务器,DreamFactory以及所需的系统和PHP扩展,但不会安装数据库服务器。要查看完整的安装选项列表,请在此处查看,否则我们将使用该--with-mysql
标志来使用MySQL作为我们的系统数据库。
现在我们可以运行脚本了!
sudo ./cent.sh --with-mysql
您现在应该看到脚本运行如此。
完成后,您现在可以访问浏览器并访问您的实例!
#选择HTTP客户端
无论您的API消费者是iPhone还是Android应用程序,SPA(单页应用程序)还是其他服务器,该消费者通常被称为客户端。客户端向REST API发出HTTP请求,解析响应并做出相应的响应。虽然在大多数情况下,您的团队将使用Alamofire或Axios等库来管理这些请求,但您通常希望在调查和学习阶段以更流畅的方式与API进行交互。API Docs功能很好地满足了这一需求,但API Docs界面缺乏书签和保持查询的能力,使用变量以编程方式管理参数,以及其他有助于维护一组易于访问的配置的功能。
幸运的是,有许多HTTP客户端可以很好地填补这个空白。最受欢迎的两个是Insomnia和Postman,它们分别在OSX和多个操作系统上可用。在本节中,我们将向您介绍两个HTTP客户端,并作为一个额外的奖励谈论无处不在的cURL客户端,它很可能是您从未听说过的最受欢迎的软件。
#失眠
Insomnia是一个跨平台的REST客户端,建立在Electron之上。与cURL和Postman相比,失眠在现场是新的,但提供了一系列功能,肯定会使其具有竞争力。它们具有非常流畅的用户界面和大量功能,包括团队选项。
#邮递员
Postman是一个经过验证的真实GUI界面,拥有出色的文档来帮助您设置测试环境。他们为每个人制定计划,从免费的独立用户到大型企业团队。Postman还有一个很棒的功能叫做API Network,它有来自各种来源的API调用示例。绝对值得一看。
#卷曲
cURL缺乏精美的界面可能会让你相信它不如Insomnia和Postman。不是这样!cURL是一个无与伦比的软件。cURL是一个命令行工具和库,用于使用URL语法传输数据,支持HTTP,HTTPS,FTP,FTPS,GOPHER,TFTP,SCP,SFTP,SMB,TELNET,DICT,LDAP,LDAPS,FILE,IMAP,SMTP,POP3, RTSP和RTMP。libcurl提供了无数强大的功能
#结论
安装并配置了DreamFactory后,就可以构建您的第一个API了!在下一章中,我们将完成这一步,完成生成基于数据库的API所需的步骤。
DreamFactory入门指南 - 第2章安装和配置DreamFactory相关推荐
- DreamFactory入门指南 - 第1章REST和DreamFactory简介
DreamFactory入门指南 - 第1章REST和DreamFactory简介 无论您在当今的IT行业中扮演什么角色,API都是工作中不可或缺的一部分.营销人员定期将Salesforce,Pipe ...
- DreamFactory入门指南
DreamFactory入门指南 欢迎来到DreamFactory平台!无论您是开源用户还是利用DreamFactory高级功能的付费客户,我们都会编写本指南,以帮助您以最有效的方式开始将平台整合到您 ...
- javaCV入门指南:序章
javaCV入门指南系列: JavaCV入门指南:序章(看完本章后,不想看原理的小伙伴可直接跳转到<快速上手篇>) JavaCV入门指南:调用FFmpeg原生API和JavaCV是如何封装 ...
- Redis入门指南 第1章 简介 Redis的几项特性
Redis入门指南 第1章 简介 Redis的几项特性 之前在做爬虫相关的demo时接触到了Redis,它基于键值对的存储系统吸引了我.它的操作十分方便,而且性能也高.趁着假期,系统地自学一下Redi ...
- Matlab编程入门指南:简介、安装、学习路线和几十个编程案例分析。
一.Matlab编程入门指南:简介.安装.学习路线和几十个编程案例分析. 1.Matlab编程语言是一种广泛应用于科学计算.工程计算.数据分析.统计分析.信号处理等领域的高级数值计算和数据可视化软件. ...
- 第3章 安装和配置vCenter Server
第3章安装和配置vCenter Server 在当今大多数信息系统中,客户端-服务器体系结构是至高无上的.这种立场是因为客户端-服务器体系结构可以集中资源管理,并为最终用户和客户端系统提供对这些资源的 ...
- python3 [爬虫入门实战]爬虫之scrapy安装与配置教程
python3 [爬虫入门实战]爬虫之scrapy安装与配置教程 标签: python爬虫scrapy 2017-07-08 15:38 77人阅读 评论(0) 收藏 举报 分类: python3爬虫 ...
- PHP入门必备知识-wampserver的安装以及配置
PHP入门必备知识-wampserver的安装以及配置 一.wampserever的安装 学习任何一门语言,工具是必不可少的,所谓"工欲善其事,必先利其器".对于php初学者来说, ...
- Python3入门——Python3+PyCharm环境的安装及配置
Python3+PyCharm环境的安装及配置 1.Python3安装 检查Python安装是否成功 2.PyCharm的安装与配置 近期碰到有同学入门Python还不会安装并配置Python编程环境 ...
最新文章
- 批量修改文件权限 和所有者 chown nobody:nobody * -R chmod 775 * -R
- 皮一皮:中国男足啊..这球少一个人帮忙这球都进不了...
- php上传查询excel到mysql_PHP上传Excel文件导入数据到MySQL数据库示例
- Office转PDF,Aspose太贵,怎么办?
- guns 最新开源框架企业版下载_国内比较火的5款Java微服务开源项目
- BOE(京东方)与吉利控股集团签订战略合作协议
- hibernate中的一对多和多对多的映射关系
- 受众定向_我如何了解社区与受众之间的差异
- CSS的七种基本选择器及其权值
- Java反射修改返回值_java反射调用时如果返回值是整型数组怎么处理?
- imp命令导入指定表_oracle 导入imp 命令
- 用Struts2写了一个小Demo,含简单的CRUB功能
- Md5(base64)加密与解密实战
- Java视频教程,最新全套Java教程!
- oracle诉讼_Oracle诉Google:Aaaaand诉讼又回来了! [更新]
- 这几个习惯,让我成为了高阶网络工程师。
- iphone 代码片段2
- 通过xshell命令方式下载文件
- 真北敏捷公众号里的群友
- 绿灰配色的微信营销PPT模板-优页文档