`

配置 google app 配置 spring. 配置jdo

    博客分类:
  • java
阅读更多

最开始的时候认为一个 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 .

0
1
分享到:
评论

相关推荐

    flex + spring + BlazeDS + google App JDO 实现一个CRUD.

    标题中的“flex + spring + BlazeDS + google App JDO 实现一个CRUD”是指使用Adobe Flex作为前端开发工具,Spring框架作为后端服务层,BlazeDS作为数据推送中间件,以及Google App Engine的JDO(Java Data Objects...

    认真做 flex + spring + blazeDS + google app JDO 分页.每次查询总数.

    标题中的“flex + spring + blazeDS + google app JDO 分页”揭示了这是一个关于构建分布式应用的技术组合,其中涉及前端开发、后端服务以及数据管理。让我们深入了解一下这些技术及其在分页应用中的作用。 Flex是...

    Struts2,Spring,JDO,AJAX on GAE

    这篇博客“Struts2,Spring,JDO,AJAX on GAE”可能探讨了如何在Google App Engine (GAE)平台上整合这些技术来构建高效且可扩展的Web应用。 1. Struts2:Struts2是一个基于MVC(Model-View-Controller)设计模式的...

    整合 java + BlazeDS + spring + JDO 部署到 app 上.

    例如,可能使用Google App Engine的JDO实现。 5. **服务层**:使用Spring的AOP和事务管理功能,创建服务层接口和实现,处理业务逻辑和数据访问。 6. **客户端接口**:通过BlazeDS的Flex或JavaScript客户端库,定义...

    spring+gae

    【标题】"Spring+GAE"揭示了将Google App Engine(GAE)与Spring框架集成的主题,这是一个在云端运行Java应用程序的关键技术组合。Spring是一个广泛使用的开源Java框架,提供了依赖注入、面向切面编程和MVC(模型-...

    Begin Java Google APP Engine

    《 Beginning Java™ Google App Engine》是一本面向初学者至中级开发者的专业指南,旨在教你如何使用Java技术在Google App Engine上构建云端应用。Google App Engine是一个强大的云计算平台,它为Java开发者提供了...

    Apress - Beginning Java Google App Engine (December 2009) (ATTiCA).pdf

    - **数据存储**:书中详细讲解了如何使用Google App Engine提供的数据存储服务(如Datastore),以及如何通过Java Data Objects (JDO) 和 Persistence as a Service 进行数据操作。 ##### 3. 核心组件和技术 - **...

    Apress - Beginning Java Google App Engine(Java)(Dec 2009).pdf

    - 描述了如何在 Eclipse 中安装和配置 Google Plugin,这是开发基于 GAE 的应用程序的基础。 - 通过示例演示如何使用插件快速创建并运行简单的 Java 应用程序。 2. **Development Server:** - 解释了如何利用...

    sm-gae-spring

    在 AppEngine 上运行 ... 但是,您学习的 Spring Data API 可以通过正确的配置使用 AppEngine 的数据存储。 Google 使用 JPA 的指南在这里: : 如果您想在 AppEngine 上设置 Spring Data。 它使用 Spring 通过 java

    JDO-Template:代码模板

    在这个场景中,"JDO-Template"是一个代码模板生成器,特别针对Google App Engine上的Spring框架环境设计,帮助开发者快速创建和管理JDO对象。 在Google App Engine中,JDO是推荐的数据存储方式之一,它提供了一种...

    bedrock-appengine:为 Google Appengine 定制的 Bedrock 核心基础框架

    6. **安全性与身份验证**:框架可能集成了安全和身份验证功能,如 Spring Security 或者 Google 的 OAuth2 服务,帮助开发者保护应用程序免受未经授权的访问。 7. **日志和监控**:为了帮助开发者跟踪应用程序的...

    solarsystemWeather

    【标题】"solarsystemWeather" 是一个基于Google App Engine平台开发的应用程序,它很可能用于展示太阳系中的天气状况或行星环境数据。App Engine是一个由Google提供的云计算平台,专为构建和托管Web应用程序而设计...

    ceyhunbcelik-appspot

    4. **数据库集成**:App Engine 自带了数据存储服务(如 Datastore),开发者可能使用了 ORM(对象关系映射)库如 GAE's NDB (Python) 或 JDO/JPA (Java) 来操作数据。 5. **安全实践**:由于 "Hack" 的标签,源...

    Practice:这是我在线获取并练习的代码。 这用于参考,任何工作都会被注意到

    :p 小路描述/我的应用程序使用 node、express、jquery 和 mongoDB 构建网络服务器的步骤/cousera-sec12-mobilecloud 使用 Spring 框架和 JDO 表示法在 Google App Engine 上构建和部署 java servlet /myapp - 感谢 ...

    NoEnemyLG:使用 GAE 的 Android 后端客户端

    9. **部署与测试**:在 GAE 上部署应用,开发者需要配置 app.yaml 文件以定义应用程序的运行环境,然后使用 Google Cloud SDK 或 Maven 插件进行部署。测试方面,可能有单元测试、集成测试和端到端测试,确保客户端...

Global site tag (gtag.js) - Google Analytics