博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven学习记录三——maven整合ssh框架
阅读量:5082 次
发布时间:2019-06-13

本文共 20048 字,大约阅读时间需要 66 分钟。

6       整合ssh框架

6.1     依赖传递

只添加了一个struts2-core依赖,发现项目中出现了很多jar,

这种情况 叫 依赖传递

 

6.2     依赖版本冲突的解决

1、  第一声明优先原则

org.springframework
spring-context
4.2.4.RELEASE
org.apache.struts
struts2-spring-plugin
2.3.24

2、  路径近者优先原则

自己添加jar包

org.springframework
spring-beans
4.2.4.RELEASE
 

3、  排除原则

org.apache.struts
struts2-spring-plugin
2.3.24
org.springframework
spring-beans

 

4、  版本锁定原则

4.2.4.RELEASE
5.0.7.Final
2.3.24
org.springframework
spring-context
${spring.version}

 

需求:

传客户ID 页面上显示客户信息

准备数据库

6.3     构建项目

1、  创建数据库,

2、  执行准备好的sql脚本

3、  完善pom.xml文件,把ssh相关的依赖都添加上去

 

4.2.4.RELEASE
5.0.7.Final
2.3.24
org.springframework
spring-context
${spring.version}
org.springframework
spring-aspects
${spring.version}
org.springframework
spring-orm
${spring.version}
org.springframework
spring-test
${spring.version}
org.springframework
spring-web
${spring.version}
org.hibernate
hibernate-core
${hibernate.version}
org.apache.struts
struts2-core
${struts.version}
org.apache.struts
struts2-spring-plugin
${struts.version}
org.springframework
spring-context
org.springframework
spring-aspects
org.springframework
spring-orm
org.springframework
spring-test
org.springframework
spring-web
org.hibernate
hibernate-core
mysql
mysql-connector-java
5.1.6
runtime
c3p0
c3p0
0.9.1.2
org.apache.struts
struts2-core
org.apache.struts
struts2-spring-plugin
javax.servlet
servlet-api
2.5
provided
javax.servlet
jsp-api
2.0
provided
org.slf4j
slf4j-log4j12
1.7.2
junit
junit
4.9
test
javax.servlet
jstl
1.2
org.apache.maven.plugins
maven-compiler-plugin
1.7
1.7
UTF-8
org.codehaus.mojo
tomcat-maven-plugin
1.1
/ssh
8080

 

 

4、  完成实体类代码

 

5、  完成dao代码

接口

package cn.itcast.dao; import cn.itcast.entity.Customer; public interface CustomerDao {                 public Customer getById(Long id); }

 

实现类

package com.itcast.dao.impl;import org.springframework.orm.hibernate5.support.HibernateDaoSupport;import cn.itcast.dao.CustomerDao;import cn.itcast.entity.Customer;public class CustomerDaoImpl extends HibernateDaoSupport implements CustomerDao {         @Override         public Customer getById(Long id) {                   return this.getHibernateTemplate().get(Customer.class, id);         }}

6、  完成service代码

接口

package com.itcast.service;import cn.itcast.entity.Customer;public interface CustomerService {         public Customer getById(Long id);} 

实现类

package com.itcast.service.impl; import com.itcast.service.CustomerService; import cn.itcast.dao.CustomerDao;import cn.itcast.entity.Customer; public class CustomerServiceImpl implements CustomerService {         private CustomerDao  customerDao;         public void setCustomerDao(CustomerDao customerDao) {                   this.customerDao = customerDao;         }         @Override         public Customer getById(Long id) {                   return customerDao.getById(id);         }}

 

 

7、  完成action代码

package cn.itcast.action;import com.itcast.service.CustomerService;import com.opensymphony.xwork2.ActionSupport;import cn.itcast.entity.Customer;public class CutomerAction extends ActionSupport {         //两个成员变量         private Customer  customer;                 private Long custId;         public Customer getCustomer() {                   return customer;         }         public void setCustomer(Customer customer) {                   this.customer = customer;         }         private CustomerService customerService;         public void setCustomerService(CustomerService customerService) {                   this.customerService = customerService;         }         public Long getCustId() {                   return custId;         }         public void setCustId(Long custId) {                   this.custId = custId;         }         public String findById(){                   customer = customerService.getById(custId);                   return SUCCESS;         }}

 

 

8、  拷贝配置文件并修改

从如下图位置拿到配置文件

 

放入到 src/main/resources目录中

 

修改内容 略

 

9、  修改web.xml 添加spring的监听

org.springframework.web.context.ContextLoaderListener
contextConfigLocation
classpath:applicationContext.xml
 

10、              运行项目

 

7      分模块开发

依赖范围对依赖传递造成的影响(了解)

父工程来管理   聚合

7.1     创建父工程:

1、

 

2、创建出的父工程如下

 

3、在pom.Xml中添加以下信息:

 

4.2.4.RELEASE
5.0.7.Final
2.3.24
org.springframework
spring-context
${spring.version}
org.springframework
spring-aspects
${spring.version}
org.springframework
spring-orm
${spring.version}
org.springframework
spring-test
${spring.version}
org.springframework
spring-web
${spring.version}
org.hibernate
hibernate-core
${hibernate.version}
org.apache.struts
struts2-core
${struts.version}
org.apache.struts
struts2-spring-plugin
${struts.version}
org.springframework
spring-context
org.springframework
spring-aspects
org.springframework
spring-orm
org.springframework
spring-test
org.springframework
spring-web
org.hibernate
hibernate-core
mysql
mysql-connector-java
5.1.6
runtime
c3p0
c3p0
0.9.1.2
org.apache.struts
struts2-core
org.apache.struts
struts2-spring-plugin
javax.servlet
servlet-api
2.5
provided
javax.servlet
jsp-api
2.0
provided
org.slf4j
slf4j-log4j12
1.7.2
junit
junit
4.9
test
javax.servlet
jstl
1.2
org.apache.maven.plugins
maven-compiler-plugin
1.7
1.7
UTF-8
org.codehaus.mojo
tomcat-maven-plugin
1.1
/ssh
8080

 

 

4、发布到本地仓库

  dao  service  web

7.2     创建dao子模块

1、在ssh-parent项目上右击 ,创建时选择 Maven Module

 

2、填写子模块名称ssh-dao

 

3、把属于dao的代码拷贝到 该模块中:

 

4、完成后发布到本地仓库中

7.3     创建service子模块

1、创建方式如上:

2、把属于service的代码拷贝到该工程中

 

3、发布到本地仓库中

 

7.4     创建Action子模块

1、选择war的打包方式

 

5、  拷贝属于action的代码和配置文件

 

6、  修改web.xml  添加spring监听

org.springframework.web.context.ContextLoaderListener
contextConfigLocation
classpath*:applicationContext-*.xml

 

4、添加页面:

 

 

转载于:https://www.cnblogs.com/PengChengLi/p/8506215.html

你可能感兴趣的文章
《奸的好人2》财色战场----笔记
查看>>
BZOJ 1834网络扩容题解
查看>>
bzoj1878
查看>>
【Vegas原创】Mysql绿色版安装方法
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>
分享《去哪儿网》前端笔试题
查看>>
2013-07-04学习笔记二
查看>>
CP15 协处理器寄存器解读
查看>>
【codeforces 787B】Not Afraid
查看>>
【9111】高精度除法(高精度除高精度)
查看>>
【hihocoder 1312】搜索三·启发式搜索(普通广搜做法)
查看>>
JavaFX中ObservableValue类型
查看>>
杭电 1097 A hard puzzle
查看>>
[转载]INFORMIX锁机制及如何剖析其锁申辩(第二部门)
查看>>
Andriod-项目stymqjlb-学习笔记2-原型
查看>>
Web AppDomain
查看>>
JQuery创建规范插件
查看>>
AD 域服务简介(三)- Java 对 AD 域用户的增删改查操作
查看>>
Unity中Text渐变色,和Text间距
查看>>
P4932 浏览器
查看>>