java设计模式在项目中的使用_SpringMVC项目里,有必要使用一些设计模式吗?

背景

为了兼容多种业务,想在项目中使用一些设计模式,以便于管理。

例如,我需要创建用户并返回userid,每种业务创建的方式都不一样。

我选取了“适配器模式”,但是我发现,在springmvc的管理下,常常需要new一些类,这时候,在这个类里的一些spring标签,却失效了。

以下是我创建用户的代码:

接口

public interface IPlatformSendPay {

public abstract Object sendPayInA(Object object);

public abstract Object sendPayInB(Object object);

}

父类

public class PlatformSendPay {

private Object obj;

@Resource

private OpenPaymentDao openPaymentDao;

public PlatformSendPay(Object obj) {

this.obj = obj;

}

public Object getUserIdInA(){

JidouOrderData jidouOrderData = (JidouOrderData) obj;

int stationId = jidouOrderData.getStation_id();

//此处,openPaymentDao为空,意味着@Resource失效,这个PlatformSendPay类没有纳入spring管理中

Integer userId = openPaymentDao.getIdentifyUser(jidouOrderData.getIdentifyId(), "1000000013");

if (ObjectUtils.isEmpty(userId)){

//todo:打印

}

return userId;

}

}

子类

public class SendPay extends PlatformSendPay implements IPlatformSendPay{

public SendPay(Object obj) {

super(obj);

}

@Override

public Object sendPayInA(Object object) {

return getUserIdInA();

}

@Override

public Object sendPayInB(Object object) {

return getUserIdInB();

}

}

这是我的实现类,springmvc中的@Service标签

//业务一

SendPay sendPay = new SendPay(jidouOrderData);

int userId = (int) sendPay.getUserIdInA();

//业务二

SendPay sendPay = new SendPay(JdOrderData);

int userId = (int) sendPay.getUserIdInB();

疑问

1.PlatformSendPay 为何spring绑定不成功?如何才能绑定成功?

2.springmvc里,是不是尽可能少使用这类的设计模式?在对象里面的方法,使用的变量有spring标签,但是在new的情况下,这样是不是会失效?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值