springside3

首先,从官网下载的springSide3并不具备我所需要的jar包,几个列子和我的编写习惯有很大冲突。

仔细观察目录结构发现无法像struts2.0一样,把列子改一下就可以架设成功了。

 

没办法,下载包用处不是很大,还是看文档把——http://wiki.springside.org.cn/display/springside3/Home。

 

 

在文档中,首先看到了“快速开发指南”,进去看看。

 

一键式安装,唉,没兴趣,看看别的。

 

还是看看“完全技术参考手册”吧,进去后看到。

 

1. 总述

  • 架构风格简述
  • CRUD程序开发指南
  • Spring Framework

2. 持久化

  • Hibernate、Spring Jdbc
  • 数据库 - Derby、MySQL、Oracle

2. Web

  • MVC - Struts2、View - JSP2/Taglib、JQuery

3 企业服务

  • Web Service - JAX-WS2(CXF)、SoapUI 工具
  • JMX
  • 安全 - Spring Security 2
  • 应用服务器 - Tomcat,Glassfish,Weblogic

4.常见事项

  • 事务
  • 日志 - Slf4j+Logback
  • 缓存 - EhCache
  • Utils工具类

5 开发过程

  • 开发实践指南

不用说先看看前四项把,只是看看而已。

 

好了,5分钟到了 看完了把。开始实践把。

 

开始看第五项“开发实践指南”,

 

重点在这里:

1. SpringSide风格项目

  • 生成SpringSide风格的项目

进去后:

一、原理

    SpringSide使用maven的archetype插件进行项目生成,新版的archetype2.0插件比以往有了大幅提升。

    SpringSide3.0在archtypes目录里存放使用Velocity语法的项目模板。

    新生成的项目中将包含保证能跑起来的项目骨架、配置文件与示例代码。

二、预要求

  • 设置环境变量JAVA_HOME指向JDK5.0安装目录。
  • 下载Maven2.0.9(all in one版已自带),并在环境变量PATH中添加 maven下载目录/bin。
  • 初始化SpringSide,双击bin/install.bat安装springside-core.jar 和两个archetype项目。

三、步骤

  1. 双击bin/new-project.bat,按提示输入参数。
  2. 在tools/generator/generated-project目录下将生成新项目。
  3. 进行必要的配置,如修改数据源,参考Hibernate。
  4. 将项目加入版本管理系统向团队分发项目。

       如果不打算在团队中使用maven,使用copy-jar.bat命令初始化依赖的jar到/webapp/WEB-INF/lib中,并将这些jar加入版本管理系统。 

五、生成结果

  • maven的pom.xml 及maven格式的目录结构。
  • Eclipse 3.4.1 for JavaEE 项目文件,含符合maven格式的目录设置,UTF-8及JDK1.5设置等。
  • 配置文件范例
  • 源代码范例

SpringSide使用maven的archetype插件进行项目生成的,不过我可不喜欢用maven开发项目,没办法先生成个例子项目把(Struts真好,复制,粘贴,项目就是我的了 哈哈)。

 

按照步骤三的方法,经过漫长的等待,终于生成了一个例子项目。

 

导入到eclipse,晕死 目录还真乱,我要改造他,当然也可以不改造,我只是想让他看起来更舒服。

 

刚生成时的目录结构:

改造后的目录结构。

 

 

好了,顺眼了,看看他都有什么东西吧。

 

1.user增删改差示例。

2.权限的示例。

 

先不管这些,先看看配置文件:

 

1.applicationContext.xml

Xml代码  
  1. xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.     xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"  
  4.     xmlns:context="http://www.springframework.org/schema/context"  
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"  
  6.     default-lazy-init="true">  
  7.     <description>Spring公共配置文件description>  
  8.   
  9.       
  10.     <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  11.         <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />  
  12.         <property name="ignoreResourceNotFound" value="true" />  
  13.         <property name="locations">  
  14.             <list>  
  15.                 <value>classpath:application.propertiesvalue>  
  16.                 <value>classpath:application.local.propertiesvalue>  
  17.                   
  18.             list>  
  19.         property>  
  20.     bean>  
  21.   
  22.       
  23.     <context:component-scan base-package="cn.xxn" />  
  24.   
  25.       
  26.     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
  27.         <property name="driverClassName" value="org.gjt.mm.mysql.Driver" />  
  28.         <property name="url" value="jdbc:mysql://localhost:3306/FMS?generateSimpleParameterMetadata=true&useUnicode=true&characterEncoding=UTF-8" />  
  29.         <property name="username" value="root" />  
  30.         <property name="password" value="123456" />  
  31.     bean>  
  32.   
  33.       
  34.       
  35.   
  36.       
  37.     <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">  
  38.         <property name="dataSource" ref="dataSource" />  
  39.         <property name="namingStrategy">  
  40.             <bean class="org.hibernate.cfg.ImprovedNamingStrategy" />  
  41.         property>  
  42.         <property name="hibernateProperties">  
  43.             <props>  
  44.                 <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialectprop>  
  45.                 <prop key="hibernate.show_sql">${hibernate.show_sql}prop>  
  46.                 <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider  
  47.                 prop>  
  48.                 <prop key="hibernate.cache.provider_configuration_file_resource_path">${hibernate.ehcache_config_file}prop>  
  49.                 <prop key="hibernate.hbm2ddl.auto">updateprop>  
  50.             props>  
  51.         property>  
  52.         <property name="packagesToScan" value="cn.xxn.entity.*" />  
  53.     bean>  
  54.   
  55.       
  56.     <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  57.         <property name="sessionFactory" ref="sessionFactory" />  
  58.     bean>  
  59.   
  60.       
  61.       
  62.     <tx:annotation-driven transaction-manager="transactionManager" />  
  63. beans>  

 生成的很完美,我只需要改下数据源配置就可以了。

 

注意:在sessionFactory中

Xml代码  
  1. <property name="packagesToScan" value="cn.xxn.entity.*" />  

恩,太爽了,这个目录下实体文件都会被映射,不用像以前一样添加实体了。这样一来,这个文件我们以后不用动他了。

 

2.struts.xml

 

Xml代码  
  1. xml version="1.0" encoding="UTF-8"?>  
  2.         "http://struts.apache.org/dtds/struts-2.1.dtd">  
  3. <struts>  
  4.     <constant name="struts.convention.default.parent.package" value="crud-default" />  
  5.     <constant name="struts.convention.package.locators" value="web" />  
  6.   
  7.     <package name="crud-default" extends="convention-default">  
  8.           
  9.         <interceptors>  
  10.             <interceptor-stack name="crudStack">  
  11.                 <interceptor-ref name="store">  
  12.                     <param name="operationMode">AUTOMATICparam>  
  13.                 interceptor-ref>  
  14.                 <interceptor-ref name="paramsPrepareParamsStack" />  
  15.             interceptor-stack>  
  16.         interceptors>  
  17.   
  18.         <default-interceptor-ref name="crudStack" />  
  19.     package>  
  20.   
  21.     

你可能感兴趣的:(spring)