传智播客--进销存之项目架构,DAO层和Service层的泛型抽取和实现

今天开始学习进销存项目了.有了之前的基础,对这个项目很有信心.可是老师一上来对项目的介绍和行业热门技术的介绍,让我的信心一下就没了.本来感觉自己 已经不错了,可是这才知道要学的还真是不少.这给项目里我们有要接触很多新鲜的热门技术.他们和之前的技术都是一样的共同点,就是相当的实用.在公司中大 量的使用,而且很先进.比如我们总在招聘启示上看到的模板技术什么的.打起精神,好好学习吧.

1)进销存项目的整体构架
Velocity1.6 + Struts1.3.1 + Spring2.5.6 + JPA(Hibernate) + MySQL5
这个项目中我们使用以上主要框 架来搭建我们的项目.
页面我们没有用jsp,而是使用了 Velocity 的模板技术,扩展名改成HTML.
这个项目将重点突出快速开 发的思想和架构思想.
在公司开发中,我们要注意数据库里有数据了,一定要先备份再操作.否则将数据库中的数据弄没了事就大了.
集成方式, 一般是要从底层到上层的顺序集成.
连接池proxool最新的,很不错,大的并发量用这个.中小型的用c3p0.

2.目录结构
我们这个进 销存项目,采用了国际标准的目录结构,Maven.
bin 脚本目录
lib 非运行期所需依赖包目录
src/main 主源码目录
src/main/cluster 配置集群所需的文件及各节点的特定属性
src/main/java java源文件
src/main/resources 配置文件、属性文件
src/main/sql sql脚本目录
src/test 测试目录,结构与主源码目录相同
src/unit 单元测试
src/webapp web应用目录
我们在Eclipse中是不能自动生成这样的目录结构的,我们用自己手动在项目下建立文 件夹.然后在项目上
右键 --> Build Path --> Configure Build Path --> Source --> Add Folder 找到刚建立的文件夹添加成源文件夹.

3.泛型DAO层的实现
接 口的命名规范:有I开头,如:IGenericDao.
1)设计对象
id传进来一个接口Serializable,可以防止Long改成 Integer等.
2)设计 IGenericDao 接口 DAO 层的基本接口,实现按照 ID 查找对象,增加,删除.
3)实现 IGenericDao 接口 ,这里使用这种技术拿到泛型中的类型.并使用Spring的JapDaoSupport模板.
    private Class<T> clazz;
   
    public GenericDaoImpl(Class<T> clazz){
        this.clazz = clazz;
    }
4)编写 IEmployeeDao 类,并继承 IGenericDao 接口,泛型传入 Employee
5)由配置文件将 IEmployeeDao 中需要的 GenericDaoImpl 实现类通过抽象类代理注入.
    <bean id="employeeDao" parent="abstractBean">
        <property name="proxyInterfaces" value="cn.itcast.erp.dao.IEmployeeDao" />
        <property name="target">
            <bean parent="baseDao">
                <constructor-arg value="cn.itcast.erp.domain.Employee" />
            </bean>
        </property>
    </bean>

4.利用JPA框架测试DAO
1) 抽象出来一个BaseTest类,由这个类继承 AbstractJpaTests
2)在 BaseTest 类中复写,getConfigLocations() 方法
3)在 getConfigLocations() 方法中,初始化配置文件.
4)DaoTest 测试类继承 BaseTest 类,并将相应的 dao 实现注入进来.
5)在 DaoTest 类中的相应方法中进行测试.

5.业务层的泛型实现
1) 设计 ICrudService 接口, 抽取出了 service 层的 CRUD 通用操作,实现根据 ID 查找对象,增加,删除.
2)实 现 ICrudService 接口.
这里使用了一个工具类,通过反射技术获取某类的父类的泛型参数的实际数据类型.
注入 IEmployeeDao 类,通过泛型继承来约束.
3)设计 IEmployeeService 接口并继承 ICrudService 接口,根据业务需要添加一个 login() 方法.
4)实现 EmployeeServiceImpl 类,实现 IEmployeeService 接口.这里对密码字段使用了 MD5 进行加密.
5)最后不要忘记在 Spring 的配置文件中对 Bean 进行配置.

6.生成代码不要出现TODO注释
Windows --> Preferences --> Java --> Code Templates --> Code

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值