配置 google app 配置 spring. 配置jdo

简介: 最开始的时候认为一个 app的程序 并不需要弄的太复杂.   mvc 上面就添加了一个  struts2 .就想直接做开发了.   但是最近 想学习 下 flex 的功能.   开始 研究 BlazeDS. 用spring 进行配置还是很方便的.   所以想把 spring 添加 到 app 上面..   大体上面 用 jdo + spring + BlazeDS 的方式去

最开始的时候认为一个 app的程序 并不需要弄的太复杂.

 

mvc 上面就添加了一个  struts2 .就想直接做开发了.

 

但是最近 想学习 下 flex 的功能.

 

开始 研究 BlazeDS. 用spring 进行配置还是很方便的.

 

所以想把 spring 添加 到 app 上面..

 

大体上面 用 jdo + spring + BlazeDS 的方式去开发一个简单的 CRUD.

 

看了下 因为 用BlazeDS 可以使用AMF3( action Message Format )

 

AMF 是远程访问调用 RemoteObject的方式. 使用的是二进制.效率开发上面比 http 好点.

 

需要的jar 文件就两个.

 

spring2.0.6.jar
commons-logging-1.0.4.jar

 

因为没有用 hibernate的原因吧.其实这个spring的jar 如果就要IOC的可以下载一个小点的包.

 

然后启动.

 

成功.修改 配置文件.

 

<bean id="pmf"
		class="org.springframework.orm.jdo.LocalPersistenceManagerFactoryBean">
		<property name="jdoProperties">
			<props>
				<prop key="javax.jdo.PersistenceManagerFactoryClass">org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory</prop>
				<prop key="javax.jdo.option.ConnectionURL">appengine</prop>
				<prop key="javax.jdo.option.NontransactionalRead">true</prop>
				<prop key="javax.jdo.option.NontransactionalWrite">true</prop>
				<prop key="javax.jdo.option.RetainValues">true</prop>
				<prop key="datanucleus.appengine.autoCreateDatastoreTxns">true</prop>
			</props>
		</property>
	</bean>
 

 

添加一个spring的配置文件.

 

然后编写dao.

 

/**
	 * 保存数据.
	 */
	public String saveSystemUser(SystemUser systemUser) {
		String isSuccess = "true";
		PersistenceManager pm = getPersistenceManager();
		try {
			if (systemUser.getId() == null) {
				systemUser.setCreateDate(new Date());
				pm.makePersistent(systemUser);
			} else {
				SystemUser tempSystemUser = pm.getObjectById(SystemUser.class,
						systemUser.getId());
				tempSystemUser.setLoginName(systemUser.getLoginName());
				tempSystemUser.setPasswd(systemUser.getPasswd());
				tempSystemUser.setName(systemUser.getName());
				tempSystemUser.setPhone(systemUser.getPhone());
				tempSystemUser.setEmail(systemUser.getEmail());
				tempSystemUser.setIslock(systemUser.getIslock());
				tempSystemUser.setLoginTimes(systemUser.getLoginTimes());
				tempSystemUser.setLastLogin(systemUser.getLastLogin());
				pm.makePersistent(tempSystemUser);
			}
			Query query = pm.newQuery("select count(id) from "
					+ SystemUser.class.getName());
			/** 强制转换成int */
			System.out.println(Integer.parseInt(query.execute("Smith").toString()));
		} catch (Exception e) {
			isSuccess = "false";
			e.printStackTrace();
		} finally {
			pm.close();
		}
		return "{success:\"" + isSuccess + "\"}";
	}
<bean id="systemUserDAO" class="com.freewebsys.dao.SystemUserDAO">
		<property name="persistenceManagerFactory">
			<ref bean="pmf" />
		</property>
	</bean>

 配置 dao xml.

 

 

发现 在使用 dao的是 还是不可以 直接用 多个.getJdoTemplate()

 

在使用的时候 就报链接 被关闭.在每一个dao的方法里面 还是要自己去关闭链接.打开链接.

 

其实有的时候应该把 这个 jdo 换成 jpa 就好了.反正 google 两个都是支持的.

 

用jpa的应该比较多吧.

 

保存一个类.同时查询下数据库里面有多少条数据.

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@page import="org.springframework.context.ApplicationContext"%>
<%@page
	import="org.springframework.web.context.support.WebApplicationContextUtils"%>
<%@page import="com.freewebsys.dao.SystemUserDAO"%>
<%@page import="com.freewebsys.jdo.SystemUser"%>
<%@page import="java.util.Date"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	ApplicationContext applicationContext = WebApplicationContextUtils
			.getWebApplicationContext(session.getServletContext());
	System.out.println("applicationContext:" + applicationContext);
	System.out.println("pmf:" + applicationContext.getBean("pmf"));
	SystemUserDAO systemUserDAO = (SystemUserDAO) applicationContext
			.getBean("systemUserDAO");//得到spring的dao.
	SystemUser systemUser = new SystemUser();
	systemUser.setCreateDate(new Date());
	systemUser.setLoginName("123456");
	systemUser.setPasswd("1223");
	systemUserDAO.saveSystemUser(systemUser);//执行保存.
%>
test success.
</body>
</html>

 

直接在页面上写一个测试.

 

数据插入成功.并且可以查询到总数.OK.

 

下面就是使用flex 结合 BlazeDS

 

 

附件是 几个类. 配置文件.和 jar .

目录
相关文章
|
29天前
|
人工智能 JSON 小程序
【一步步开发AI运动APP】七、自定义姿态动作识别检测——之规则配置检测
本文介绍了如何通过【一步步开发AI运动APP】系列博文,利用自定义姿态识别检测技术开发高性能的AI运动应用。核心内容包括:1) 自定义姿态识别检测,满足人像入镜、动作开始/停止等需求;2) Pose-Calc引擎详解,支持角度匹配、逻辑运算等多种人体分析规则;3) 姿态检测规则编写与执行方法;4) 完整示例展示左右手平举姿态检测。通过这些技术,开发者可轻松实现定制化运动分析功能。
|
2月前
|
Swift iOS开发 开发者
苹果app上架-ios上架苹果商店app store 之苹果支付In - App Purchase内购配置-优雅草卓伊凡
苹果app上架-ios上架苹果商店app store 之苹果支付In - App Purchase内购配置-优雅草卓伊凡
164 13
苹果app上架-ios上架苹果商店app store 之苹果支付In - App Purchase内购配置-优雅草卓伊凡
|
1月前
|
存储 监控 API
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
88 24
|
2月前
|
安全 算法 小程序
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
171 28
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
|
2月前
|
网络协议
【Azure App Service】App Service 如何配置私网域名以及证书呢?
本文解答了关于 Azure App Service 如何配置私网域名及证书的问题。App Service 不支持私网域名,自定义域名需配置在公共 DNS 服务器上。文章引用官方文档详细说明了映射自定义 DNS 的步骤,并附带参考资料链接,帮助用户深入了解相关配置方法。
|
2月前
|
小程序
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
230 0
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
|
3月前
|
小程序 数据安全/隐私保护 开发者
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
173 3
|
4月前
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
218 12
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
|
7月前
|
移动开发 开发框架 小程序
uni-app:demo&媒体文件&配置全局的变量(三)
uni-app 是一个使用 Vue.js 构建多平台应用的框架,支持微信小程序、支付宝小程序、H5 和 App 等平台。本文档介绍了 uni-app 的基本用法,包括登录示例、媒体文件处理、全局变量配置和 Vuex 状态管理的实现。通过这些示例,开发者可以快速上手并高效开发多平台应用。
135 0
|
4月前
|
Dart 前端开发 架构师
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
308 26

热门文章

最新文章