主要参考文章:
1.《构建全栈式Flex、BlazeDS和Spring集成解决方案》
2. http://www.iteye.com/topic/392836
最近和朋友正策划一个记账的小型项目,想用Flex来做前端开发。以前有看过Flex方面的教程,这次动手构建这个项目还真花了不少时间,因为像我这么构建的文章几乎没有。按理说上面2篇参考文章都能构建好项目,但是我想用Maven的人肯定很多,"风雪涟漪"的构建没用到Maven,而《构建全栈式Flex、BlazeDS和Spring集成解决方案》教程里连Flex都用Maven构建,不能说不好,但是目前FlexBuilder3根本不支持Maven构建的项目,所以根本无法用此IDE,对于大多数人来说做开发还是比较依赖IDE的,所以我各取所长构建自己的项目。好了,废话不多说,我们开始。
在Java端用Spring+hibernate搭基本骨架,我有个兄弟之前做了个Flex项目,Java端用Spring+hibernate+Struts2架构,然后用Flex的HttpService来请求数据。但我总觉得Struts2在这里显得很多余,完全可以用Spring+BlazeDS与Flex经行交互。
所需要的开发环境 :
1.Eclipse3.4(J2EE版本)
2.Flex Builder 3
3.Maven2.0.9
(说明:2.1.0和2.2.0两个版本对flex-compiler-mojo支持有Bug,如果完全用《构建全栈式Flex、BlazeDS和Spring集成解决方案》来构建,建议使用2.0.9的Maven版本)
一、利用Maven构建Web应用
打开Cmd,定位到你的工作空间,运行下面命令
mvn archetype:create -DgroupId=com.zhjj.zhangben -DartifactId=zhengben
然后加入eclipse支持,运行mvn eclipse:eclipse
现在你可以用eclipse打开这个基础应用了
二、加入spring,hibernate,blazeds,spring-flex依赖
<!-- 添加spring依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.5.4</version>
</dependency>
<!-- 添加hibernate依赖 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>${hibernate.annotations.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>${hibernate.annotations.version}</version>
</dependency>
<dependency>
<groupId>${jdbc.groupId}</groupId>
<artifactId>${jdbc.artifactId}</artifactId>
<version>${jdbc.version}</version>
</dependency>
<!-- 添加blazeds依赖 -->
<dependency>
<groupId>com.adobe.blazeds</groupId>
<artifactId>blazeds-common</artifactId>
<version>3.0.0.544</version>
</dependency>
<dependency>
<groupId>com.adobe.blazeds</groupId>
<artifactId>blazeds-core</artifactId>
<version>3.0.0.544</version>
</dependency>
<dependency>
<groupId>com.adobe.blazeds</groupId>
<artifactId>blazeds-remoting</artifactId>
<version>3.0.0.544</version>
</dependency>
<dependency>
<groupId>backport-util-concurrent</groupId>
<artifactId>backport-util-concurrent</artifactId>
<version>3.1</version>
</dependency>
<!-- spring-flex -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-flex</artifactId>
<version>1.0.0.RELEASE</version>
</dependency>
需要说明的是,目前为止spring-flex还没有以公共的Maven仓库方式公开,所以要到http://www.springsource.org/spring-flex 去下载然后自己加到本地仓库中。
三、以下几个依赖包都不可或缺,否则会报很多莫名其妙的错误(这些错误我Google,Baidu了个好几天才解决,我哭啊。。。。)
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>0.9.9-6</version>
</dependency>
<!--
cglib(Code Generation Library)是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。
cglib封装了asm,可以在运行期动态生成新的class。
cglib用于AOP,jdk中的proxy必须基于接口,cglib却没有这个限制
-->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2</version>
</dependency>
<!-- xalan是一套xslt处理器,用来将XML文件转换为HTML,TEXT和XML等其他类型文件格式 -->
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
四、增加几个插件
<plugins>
<!-- 编译用的 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<!-- 用来在Java中生成数据库表-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<components>
<component>
<name>hbm2ddl</name>
<implementation>annotationconfiguration</implementation>
<!-- Use 'jpaconfiguration' if you're using JPA. -->
<!--<implementation>jpaconfiguration</implementation>-->
</component>
</components>
<componentProperties>
<drop>true</drop>
<jdk5>true</jdk5>
<propertyfile>target/classes/jdbc.properties</propertyfile>
<skip>${maven.test.skip}</skip>
</componentProperties>
</configuration>
<executions>
<execution>
<phase>process-test-resources</phase>
<goals>
<goal>hbm2ddl</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>${jdbc.groupId}</groupId>
<artifactId>${jdbc.artifactId}</artifactId>
<version>${jdbc.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>dbunit-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<configuration>
<dataTypeFactoryName>${dbunit.dataTypeFactoryName}</dataTypeFactoryName>
<driver>${jdbc.driverClassName}</driver>
<username>${jdbc.username}</username>
<password>${jdbc.password}</password>
<url>${jdbc.url}</url>
<src>src/test/resources/sample-data.xml</src>
<type>${dbunit.operation.type}</type>
<schema>${dbunit.schema}</schema>
<skip>${maven.test.skip}</skip>
</configuration>
<executions>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>operation</goal>
</goals>
</execution>
<execution>
<!-- Runs before integration tests and jetty:run-war -->
<id>test</id>
<phase>test</phase>
<goals>
<goal>operation</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>${jdbc.groupId}</groupId>
<artifactId>${jdbc.artifactId}</artifactId>
<version>${jdbc.version}</version>
</dependency>
</dependencies>
</plugin>
<!-- Jetty插件,测试服务器 -->
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.6</version>
<configuration>
<contextPath>/zhangben</contextPath>
<scanIntervalSeconds>3</scanIntervalSeconds>
<connectors>
<connector
implementation="org.mortbay.jetty.bio.SocketConnector">
<port>8080</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
<scanTargetPatterns>
<scanTargetPattern>
<directory>
src/main/webapp/WEB-INF
</directory>
<excludes>
<exclude>**/*.jsp</exclude>
</excludes>
<includes>
<include>**/*.properties</include>
<include>*.xml</include>
</includes>
</scanTargetPattern>
<scanTargetPattern>
<directory>src/main/resources</directory>
<includes>
<include>*.properties</include>
<include>*.xml</include>
</includes>
</scanTargetPattern>
</scanTargetPatterns>
</configuration>
</plugin>
<!-- eclipse插件 -->
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<additionalProjectnatures>
<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
</additionalProjectnatures>
<additionalBuildcommands>
<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
</additionalBuildcommands>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
<wtpversion>1.5</wtpversion>
</configuration>
</plugin>
</plugins>
要下班了,明天继续!!!
分享到:
相关推荐
《pureMVC实战:构建基于Flex前端与BlazeDS、Spring和Hibernate后端的应用》 在软件开发领域,尤其在企业级应用中,选择合适的框架和技术栈至关重要。本实例采用了一个强大的组合:PureMVC作为前端框架,BlazeDS...
maven、spring、spring mvc、mybatis 整合实现ssm通用增删改查基础开发框架.maven、spring、spring mvc、mybatis 整合实现ssm通用增删改查基础开发框架.maven、spring、spring mvc、mybatis 整合实现ssm通用增删改查...
本项目标题为"最新 Maven Spring Hibernate MVC 4.X",意味着我们将探讨如何使用这些技术构建一个基于Java的Web应用程序。 首先,`Maven`是Apache软件基金会开发的一款项目管理工具,它主要负责项目的构建、依赖...
本篇文章将深入探讨如何使用Maven作为构建工具,在Eclipse环境中搭建一个整合了Spring、Spring MVC和Hibernate的项目。 首先,让我们了解Maven。Maven是Apache开发的一款项目管理和综合工具,它通过一个项目对象...
本项目“maven整合spring+hibernate+struts2”就是一个典型的Java Web开发模式,它利用Maven作为项目管理工具,Spring作为核心框架,Hibernate作为持久层解决方案,Struts2作为表现层控制器。以下将详细阐述这些技术...
以上就是Spring、Hibernate和Flex整合的基础知识和搭建步骤,对于初学者来说,这是一个很好的起点,能够帮助他们理解这些技术的协同工作方式,并为更复杂的项目打下基础。通过不断地实践和学习,开发者可以逐步掌握...
本项目" Maven+Spring MVC +Hibernate Validate" 提供了一种强大的技术栈,用于实现这一目标。它将Maven作为项目构建工具,Spring MVC作为后端控制器框架,而Hibernate Validate则负责服务端的数据验证。下面我们将...
本项目"Spring+Hibernate+SpringMVC+Maven整合"集中了四个流行的Java技术,旨在提供一个全面的后端开发解决方案。以下是这些技术及其整合的关键知识点: 1. **Spring框架**:Spring是一个开源的Java平台,它为开发...
在本文中,我们将深入探讨如何使用IntelliJ IDEA创建一个基于Maven的Spring MVC项目。首先,我们需要了解几个核心概念: 1. **IntelliJ IDEA**:这是一款强大的Java集成开发环境(IDE),广泛用于Java应用程序的...
这个项目"springmvc spring hibernate jpa maven 整合"就是这样一个例子,它整合了四个关键的技术组件:Spring MVC、Spring、Hibernate和JPA,以及依赖管理工具Maven。让我们详细探讨这些技术及其在项目中的作用。 ...
本教程将重点介绍如何使用Maven作为项目管理工具,结合Spring MVC作为控制层框架和Hibernate作为持久层框架,来构建一个完整的Web应用。Maven是Apache组织提供的一个项目管理和综合工具,它可以帮助我们管理项目的...
本主题将详细探讨"Maven、Spring、Spring MVC和MyBatis"这四大技术的整合,以及它们如何协同工作来构建高效、可维护的Web应用程序。 首先,Maven是一个项目管理和综合工具,它通过一个XML配置文件管理项目的依赖...
在现代Java Web开发中,"Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA"是一个常见的架构组合,被广泛应用于构建企业级应用程序。这个组合通常被称为"SSM",其中"M"代表Maven,"S"代表Spring,包括Spring核心...
Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境
5、Spring MVC 三、课程目标 1、深入理解Maven工作原理 2、熟练掌握Maven基础应用 3、熟练掌握Maven企业级开发 四、课程大纲 第1课 Maven 概述及安装 第2课 使用Maven构建Java项目 第3课 理解Maven核心概念(一) ...
SSH整合指的是Spring、Struts和Hibernate这三大Java开源框架的集成应用。这三大框架分别负责控制层、视图层和持久层,它们的结合能够构建出功能强大的企业级Web应用程序。 Spring框架是整个SSH整合的核心,它提供了...
综上所述,这个项目可能是一个使用Maven构建的Java Web应用,采用Spring MVC作为MVC架构,利用Hibernate进行数据库操作,通过Validation进行数据验证,并且使用DWR来增强前端的交互性。这样的组合提供了一个强大、...
以下是关于Maven、Spring、Spring MVC和MyBatis的详细知识点: 1. Maven: Maven是一个项目管理和综合工具,它通过定义项目构建过程,依赖管理和项目信息管理来简化Java项目的构建。Maven使用XML格式的`pom.xml`...
通过这种整合,我们可以快速构建一个功能完善的Web应用,同时享受到Spring的灵活性、SpringMVC的轻量级Web控制、Maven的依赖管理以及Hibernate的数据持久化优势。对于初学者来说,这样的整合实例有助于理解这些框架...
零配置Maven+Spring MVC4.2.4+Hibernate5.2.10 零配置Maven+Spring MVC4.2.4+Hibernate5.2.10 零配置Maven+Spring MVC4.2.4+Hibernate5.2.10 零配置Maven+Spring MVC4.2.4+Hibernate5.2.10