javaEE SSH框架不使用注解的方式与使用注解的方式

22 篇文章 1 订阅
19 篇文章 0 订阅

一:不使用注解的方式

验证一个登陆是否合法,采用动态方法调用的方式

1、在界面中定义input的name属性为{对象.名字}(对象与类中定义的一致,名字与类中定义的属性名一致),就可以将用户输入的数据传递过去了


2、mlogin对应struts.xml中的一个action的name,class随意起个名字,这里为loginAction;

3、然后对应到applicationContext.xml中的一个bean,bean的id与loginAction名字一直,指出对应的处理类,这      里是com.hhit.action下的LoginAction类

4、可以找到LoginAction类中对应的login方法


5、定义了接口对象,与applicationContext.xml中Action下的一个属性name对应,这里是loginService

(定义对象都是接口对象,而在Spring中的配置bean指出的操作类是实现类)

6、调用接口的方法,实现类实现此方法


7、loginService对应Spring中的一个id为loginService的bean,对应处理的类为com.hhit.service包下的           LoginServiceImpl类

8、LoginServiceImpl类中定义了userDao(与数据库交互的类),对应到bean下属性name为userDao(与类中    的一致才能找到)

9、userDao又对应一个id为TUserDAO的bean,对应的处理类为com.hhit.dao包下的TUserDAO类

(这里通过hibernate的方向工程可以自动实现)

10、然后调用处理的方法


11、关系图


二:采用注解的方式

1、注解的方式比较方便,@controller注入action,@Service注入service,@Repository注入dao


2、这里关于dao的设计说明一下

     因为大多数dao类中都有增、删、改、查等方法,那么如果每个dao中都写一遍的话很繁琐,而且不利于维护,所以可以将这些方法抽离出来,写一个IBaseDao的接口,然后写一个BaseDaoImpl的实现类实现所有的方法,这里用到泛型,获取到具体的类的类型。



在IUserDao接口中继承IBaseDao接口,将User对象传递过去


在UserDaoImpl的实现类中继承BaseDaoImpl的实现类,同时实现IUserDao的接口(这里IUserDao貌似显得多余,不过我们是面向接口编程的,这里可以在接口中定义一些不是IBaseDao的方法,根据具体的需要)


关系图


三:总结

      注解的方式着实方便很多,还有很多的东西需要去学习,加油。

     PS:我将一些项目文件放到了github上了,欢迎大家Follow、Star、Fork,

     github地址:https://github.com/lawlite19

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值