springside4搭建过程简要

最近要使用springside作为整合框架来进行平台组的开发,匆忙搭建了一个quickstart演示工程.记录一下当时的过程:

 

  1. 下载springside4-4.1.0.GA.zip
  2. 解压好工程组,import到eclipse,有些版本可能需要在解压文件夹里运行mvn eclipse:eclipse命令来初始化eclipse工程,否则无法直接导入
  3. 在修改quickstart之前需要先在maven中安装springside的core,engine等核心包,需要进入到解压缩的目录\springside4-4.1.0.GA\modules 先运行mvn install 完成quicksitart所依赖的核心库的安装
  4. 这个时候出现了一个core包的mvn编译异常,简单的来说就是core工程里的jasonmapper类泛型编译发生错误,可以通过去springside4.4.1的资源库下载新的代码替换即可
  5. 打开quickstart工程里的pom.xml,修改里面数据库部分的依赖,把默认的h2改为oracle
    
    		
    		com.oracle
    		ojdbc6
    		11.2.0.1.0
     
  6. 这里有一个问题就是ojdbc的mvn配置不是能够自动下载的,只能先手工下载ojdbc6,然后通过mvn install命令将jar包安装到mvn repo中再刷新下工程,就ok了
  7. 再修改dbprofile里transaction的配置
    
    		
    			refresh-db
    			
    				
    					
    						org.apache.maven.plugins
    						maven-antrun-plugin
    						
    							
    								
    								
    								
    									
    									
    									
    								
    							
    						
    					
    				
    			
    		
     
  8. 这里配置的两个sql,默认工程里是无法在oracle下运行的,需要稍微修改一下
    drop table ss_task;
    drop table ss_user;
    
    create table ss_task (
    	id number(19,0),
    	title varchar2(128) not null,
    	description varchar2(255),
    	user_id number(19,0) not null,
        primary key (id)
    );
    
    create table ss_user (
    	id number(19,0),
    	login_name varchar2(64) not null unique,
    	name varchar2(64) not null,
    	password varchar2(255) not null,
    	salt varchar2(64) not null,
    	roles varchar2(255) not null,
    	register_date date not null,
    	primary key (id)
    );
    
    
    create sequence ss_seq_task start with 100 increment by 20;
    create sequence ss_seq_user start with 100 increment by 20;
     
    /* Formatted on 2013/10/18 16:28 (Formatter Plus v4.8.8) */
    INSERT INTO ss_task
                (ID, title, description, user_id
                )
         VALUES (1, 'Study PlayFramework 2.0', 'http://www.playframework.org/', 2
                );
    INSERT INTO ss_task
                (ID, title, description, user_id
                )
         VALUES (2, 'Study Grails 2.0', 'http://www.grails.org/', 2
                );
    INSERT INTO ss_task
                (ID, title, description, user_id
                )
         VALUES (3, 'Try SpringFuse', 'http://www.springfuse.com/', 2
                );
    INSERT INTO ss_task
                (ID, title, description, user_id
                )
         VALUES (4, 'Try Spring Roo', 'http://www.springsource.org/spring-roo', 2
                );
    INSERT INTO ss_task
                (ID, title, description, user_id
                )
         VALUES (5, 'Release SpringSide 4.0', 'As soon as posibble.', 2
                );
    
    INSERT INTO ss_user
                (ID, login_name, NAME, PASSWORD,
                 salt, ROLES, register_date
                )
         VALUES (1, 'admin', 'Admin', '691b14d79bf0fa2215f155235df5e670b64394cc',
                 '7efbd59d9741d34f', 'admin', TO_DATE ('2012-06-04 01:00:00','yyyy-mm-dd hh:mi:ss')
                );
    INSERT INTO ss_user
                (ID, login_name, NAME, PASSWORD,
                 salt, ROLES, register_date
                )
         VALUES (2, 'user', 'Calvin', '2488aa0c31c624687bd9928e0a5d29e7d1ed520b',
                 '6d65d24122c30500', 'user', to_date('2012-06-04 02:00:00','yyyy-mm-dd hh:mi:ss')
                );
      
     
  9. 这样配置就基本完成了,接下来运行quickstart\bin\refresh-db.bat  来实现初始化quickstart的数据库
  10. 然后有两种方式来启动项目,第一个就是直接运行工程bin目录下的jetty.bat,还有一个就是通过eclipse(含mvn插件)上的run as maven build,再在配置界面的goals里填入jetty:run
  11. 工程启动后通过,localhost:8080\quickstart即可访问,但基于oracle的项目启动后,创建任务会报id不能为空的错误,原因是task entity里的id 策略在oracle上无法自动产生id,于是需要更改entity包里的task.java
  12. 增加private long id;属性,再增加如下注释配置
    	@Id
    	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SS_SEQ") 
    	@SequenceGenerator(name="SS_SEQ",sequenceName="SS_SEQ_TASK",allocationSize=1)
    	public Long getId() {
    		return id;
    	}
    
    	public void setId(Long id) {
    		this.id = id;
    	}
    
     
  13. 重启项目,功能就都正常了

你可能感兴趣的:(软件架构,springside,quickstart,4.1.0,mvn)