一:SSM整合
1.整合策略
SSM = Spring + SpringMVC + Mybatis = (Spring + Mybatis)+ SpringMVC
先整合 Spring + Mybatis
然后再整合 SpringMVC
基于的需求:查询 Account 表的全部数据显示到⻚⾯
2.Mybatis整合Spring
jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/bank
jdbc.username=root
jdbc.password=123456
Spring 配置⽂件
applicationContext-dao.xml
applicationContext-service.xml
AccountMapper接⼝
AccountMapper.xm
测试程序
3.整合SpringMVC
添加SpringMVC ⼊⻔案例
springmvc.xml
Controller类
web.xml
4.附录
乱码问题解决
Post请求乱码,web.xml中加⼊过滤器
Get请求乱码(Get请求乱码需要修改tomcat下server.xml的配置)
玩转Spring MVC 必备设计模式
测试
上述代码可以解决问题,但是从代码设计的⻆度还是存在⼀些问题
增加或者修改打折⽅案时必须修改 BuyGoods 类源代码,违反了⾯向对象设计的 “开闭原
则”,代码的灵活性和扩展性较差。
打折⽅案代码聚合在⼀起,如果其他项⽬需要重⽤某个打折⽅案的代码,只能复制粘贴对应
代码,⽆法以类组件的⽅式进⾏重⽤,代码的复⽤性差。
BuyGoods 类的 calculate() ⽅法随着优惠⽅案的增多会⾮常庞⼤,代码中会出现很多if分
⽀,可维护性差此时,我们可以使⽤策略模式对 BuyGoods 类进⾏重构,将打折⽅案逻辑(算法)的定义和使⽤
分离。
抽象策略类 AbstractDiscount,它是所有具体打折⽅案(算法)的⽗类,定义了⼀个 discount
抽象⽅法四种具体策略类,继承⾃抽象策略类 AbstractDiscount,并在 discount ⽅法中实现具体的打折
⽅案(算法)类 BuyGoods,维护了⼀个 AbstractDiscount 引⽤
测试
重构后:
增加新的优惠⽅案时只需要继承抽象策略类即可,修改优惠⽅案时不需要修改BuyGoods类
源码;
代码复⽤也变得简单,直接复⽤某⼀个具体策略类即可;
BuyGoods类的calculate变得简洁,没有了原本的if分⽀;模板⽅法模式
模板⽅法模式是指定义⼀个算法的⻣架,并允许⼦类为⼀个或者多个步骤提供实现。模板⽅法模式
使得⼦类可以在不改变算法结构的情况下,重新定义算法的某些步骤,属于⾏为型设计模式。
采⽤模板⽅法模式的核⼼思路是处理某个流程的代码已经具备,但其中某些节点的代码暂时不能确
定。此时可以使⽤模板⽅法示例
Java岗位⾯试者
前端岗位⾯试者
客户端测试类
适配器模式