1.controller 层接受用户的HTTP请求
2.Service 层由Controller层调用而来的,具体是处理业务逻辑
3.Repository层也是DAO层,Service层调用Repository层的CRUD操作。
4.代码示例:
1)Controller层:
@RestController
public class TransactionDataController
{
@Autowired
TransactionDataService transactionDataService;
@RequestMapping(value = "/transactiondata", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, method =
{ RequestMethod.POST })
public ResponseEntity<String> saveTransactionData(@Valid @RequestBody InboundTransaction inboundTransaction)
{
transactionDataService.saveTransactionData(inboundTransaction);
return new ResponseEntity<>("Created", HttpStatus.CREATED);
}
}
2)Service 层
@Service
public class TransactionDataServiceImpl extends PersistenceBasicRepository implements TransactionDataService
{
@Autowired
InboundTransacitonRepository inboundTransacitonRepository ;
/**
* create an instance: TransactionDataServiceImpl.
* Title: TransactionDataServiceImpl
* Description: constructor
* @param clazz
*/
public TransactionDataServiceImpl()
{
super(InboundTransaction.class);
}
/**
* Title: saveTransactionData
* Description: save transaction data
* @param inboundTransaction (describe the param)
* @see com.sap.csc.ems.integration.service.TransactionDataService#saveTransactionData(com.sap.csc.ems.model.integration.InboundTransaction)
*/
@Override
public void saveTransactionData(InboundTransaction inboundTransaction)
{
inboundTransacitonRepository.save(inboundTransaction);
}
}
3)Repository层
@Repository
public class InboundTransacitonRepositoryImpl extends PersistenceBasicRepository implements InboundTransacitonRepository
{
/**
* create an instance: InboundTransacitonRepositoryImpl. Title: InboundTransacitonRepositoryImpl Description:
* constructor
*
* @param clazz
*/
public InboundTransacitonRepositoryImpl()
{
super(InboundTransaction.class);
}
/**
* Title: save Description: save inbound transaction data
*
* @param inboundTransaction
* (describe the param)
* @see com.sap.csc.ems.persistence.repository.integration.InboundTransacitonRepository#save(com.sap.csc.ems.model.integration.InboundTransaction)
*/
@Override
public void save(InboundTransaction inboundTransaction)
{
Long id = getNextSeq();
inboundTransaction.setTransactionId(id);
insert(inboundTransaction);
}
}