SSH2 整合


目录 1.整合思想 ....................................................................................................................... 1 2.案例步骤 ....................................................................................................................... 2 2.1.添加 spring 框架 .................................................................................................. 2 2.1.1 新建一个 web 工程,导入 spring 框架需要的包。....................................... 2 2.1.2 编写 spring 的配置文件 .............................................................................. 2 2.1.3Spring 的配置模版: ................................................................................... 2 2.2.整合 hibernate 框架 ............................................................................................. 3 2.2.1 导入 hibernate 的开发包............................................................................. 3 2.2.2 在 spring 的配置文件中集成 hibernate ........................................................ 4 2.2.2 编写 com/mgang/bean/User.hbm.xml 文件和相应的 bean 对象.................... 5 2.2.3 编写测试单元进行测试 .............................................................................. 6 2.3.整合 struts2 框架 ................................................................................................. 8 2.3.1 加入 struts2 需要的包................................................................................. 8 2.3.2 编写 struts2 的配置文件 struts.xml.............................................................. 9 2.3.3 在 web.xml 中启动 spring 和 struts2 框架 .................................................. 10 3.ssh2 整合细节总结 ...................................................................................................... 11 1.整合思想 首先整合 spring 和 hibernate,然后再整合 struts2。 每整合完一个,都要对其测试通过。 SSH2 整合 梦来梦往 2013/5/18 2.案例步骤 2.1.添加 spring 框架 2.1.1 新建一个 web 工程,导入 spring 框架需要的包。 dist\spring.jar lib\c3p0\c3p0-0.9.1.2.jar 、 lib\aspectj\aspectjweaver.jar 、 aspectjrt.jar lib\cglib\cglib-nodep-2.1_3.jar lib\j2ee\common-annotations.jar lib\log4j\log4j-1.2.15.jar lib\jakarta-commons\commons-logging.jar 引入上述的 8 个包后,就加入了 spring 框架了。 2.1.2 编写 spring 的配置文件 编写 spring 的配置文件 beans.xml 或者 applicationContext.xml 2.1.3Spring 的配置模版: 接着导入 hibernate 框架,然后进行 hibernate 和 spring 的集成。 在 spring 的配置文件中加入 注解扫描指定包下的文件,如上配置会扫描 com.mgang 及其子包下的文件。 2.2.整合 hibernate 框架 2.2.1 导入 hibernate 的开发包 hibernate 核心安装包下的(下载路径:http://www.hibernate.org/,点击“Hibernate Core” 右边的“Downloads”): hibernate3.jar lib\bytecode\cglib\hibernate-cglib-repack-2.1_3.jar lib\required\*.jar hibernate 注解安装包下的(下载路径:www.hibernate.org,点击“Hibernate Annotations” 右边的“Downloads”): hibernate-annotations.jar lib\ejb3-persistence.jar、hibernate-commons-annotations.jar Hibernate 针对 JPA 的实现包(下载路径:www.hibernate.org,点击“Hibernate Entitymanager” 右边的“Downloads”): hibernate-entitymanager.jar lib\test\log4j.jar、slf4j-log4j12.jar 引入 hibernate3 的需要的包后的 Lib 2.2.2 在 spring 的配置文件中集成 hibernate 第一步配置数据源: 第二步集成进 hibernate : cn/itcast/bean/buyer.hbm.xml hibernate.dialect=org.hibernate.dialect.MySQL5Dialect hibernate.hbm2ddl.auto=update hibernate.show_sql=false hibernate.format_sql=false 第三步使用 Spring 容器管理事务服务: 2.2.2 编写com/mgang/bean/User.hbm.xml 文件和相应的bean 对象 com.mgang.bean.Sex 12 其中 com.mgang.bean.Sex 12 这部分配置的枚举类型的数据映射关系,org.hibernate.type.EnumType 这个类在 jpa 的包中 定义的,所以需要添加 jpa 的包做为支持。 2.2.3 编写测试单元进行测试 @Test public void test(){ new ClassPathXmlApplicationContext("beans.xml"); } 测试成功,说明 hibernate 和 spring 整合成功。 编写 service 类,对 hibernate 做进一步的测试; @Transactional public class UserServiceImp implements UserServiceInter { @Resource private SessionFactory factory; public void delete(User user) { // TODO Auto-generated method stub factory.getCurrentSession().delete(user); } @Transactional(propagation=Propagation.NOT_SUPPORTED) public void find(Integer id) { // TODO Auto-generated method stub factory.getCurrentSession().load(User.class, id); } @SuppressWarnings("unchecked") @Transactional(propagation=Propagation.NOT_SUPPORTED) public List list() { // TODO Auto-generated method stub return factory.getCurrentSession().createQuery("form User").list(); } public void save(User user) { // TODO Auto-generated method stub factory.getCurrentSession().save(user); } public void update(User user) { // TODO Auto-generated method stub factory.getCurrentSession().update(user); } } 这里多用注解来完成注入。 public class UserTest { private static UserServiceInter userServie; @BeforeClass public static void setUpBeforeClass() throws Exception { System.out.println("xxx"); ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml"); userServie = (UserServiceInter) ac.getBean("userServiceImp"); System.out.println(userServie.hashCode()); } @Test public void save(){ userServie.save(new User(1,"mgang")); } @Test public void delete(){ userServie.delete(userServie.find(1)); }@Test public void update(){ User user = userServie.find(1); user.setSex(Sex.WOMEN); userServie.update(user); }@Test public void find(){ System.out.println(userServie.find(1).getName()); }@Test public void list(){ List users = userServie.list(); for(User user : users){ System.out.println(user.getId()+","+user.getName()+"," +user.getSex()); } } } 测试通过。 2.3.整合 struts2 框架 2.3.1 加入 struts2 需要的包 struts2-core-2.x.x.jar :Struts 2 框架的核心类库 Xwork-core-2.x.x.jar :XWork 类库,Struts 2 在其上构建 ognl-2.6.x.jar :对象图导航语言(Object Graph Navigation Language), struts2 框架通过其读写 对象的属性 freemarker-2.3.x.jar :Struts 2 的 UI 标签的模板使用 FreeMarker 编写 commons-fileupload-1.2.x.jar 文件上传组件,2.1.6 版本后需要加入此文件 struts2-spring-plugin-2.x.x.jar :用于 struts2 集成 Spring 的插件 这个包不要忘记导入。 这些就是 ssh2 所需的最小包了。 2.3.2 编写 struts2 的配置文件 struts.xml 2.3.3 在 web.xml 中启动 spring 和 struts2 框架 在web容器中使用Listener实例化spring容器和配置struts2 contextConfigLocation classpath:beans.xml org.springframework.web.context.ContextLo aderListener 配置struts2 struts2 org.apache.struts2.dispatcher.ng.filter.Str utsPrepareAndExecuteFilter struts2 /* 注意: struts2 的配置文件模版 struts.xml 如下。常量 struts.objectFactory=spring 明确指出将由 Spring 负责创建 Action 实例。 /WEB-INF/page/message.jsp /WEB-INF/page/persons.jsp 为了能从 spring 容器中寻找到 Action bean,要求 action 配置的 class 属性值和 spring 中 bean 的名称相同。 整合完毕。 3.ssh2 整合细节总结 ① 是使用struts2的简单主题,在使用标签是不自动生成tr,td 等标签。 指定 struts2 的 action 创建工厂为 spring,也就是将创建 action 的工作 交给了 spring 容器。 ②: ③:一些注解的使用 @Controller public class UserAction { @Resource private UserServiceInter userService; public String list(){ ActionContext.getContext().put("users",userService.lis t()); return "list"; } } 使用@Controller 注解 action,让 spring 来创建 action; 使用@Resource来注入属性值 @Transactional @Service public class UserServiceImp implements UserServiceInter; 使用@Transactional 来开启该类的事务; 使用@Service 来注解service类,让spring创建。 @Transactional(propagation=Propagation.NOT_SUPPORTED) public List list() { // TODO Auto-generated method stub return factory.getCurrentSession().createQuery("from User").list(); } 因为查找是不需要事务的,所以使用 @Transactional(propagation=Propagation.NOT_SUPPORTED) 这个注解来对该方法不使用事务。
还剩11页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

mg0324

贡献于2014-11-16

下载需要 10 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf