I am new to Spring and I am try to make a application for learning but I am getting problem in Autowiring,I am adding my code. I am working on spring boot.
DetailDossFineService
package net.capcos.ml.back.ms.dcdi.controller.rest;
import java.util.List;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import net.capcos.ml.back.ms.dcdi.configuration.Constants;
import net.capcos.ml.back.ms.dcdi.dto.DetailDossFineDTO;
import net.capcos.ml.back.ms.dcdi.service.DetailDossFineService;
@RestController
@RequestMapping(path = Constants.apiBasePath + "/detail")
public class DetailDossFinRestService {
private static final String SERVICE_NAME = "DETDOSSFIN-SERVICE";
@Autowired
private DetailDossFineService detailDossFineService;
@PostConstruct
public void init() {
}
@RequestMapping(value = {
"/service-name" }, method = RequestMethod.GET, produces =
MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<String> getServiceName() {
return new ResponseEntity<String>(SERVICE_NAME, HttpStatus.OK);
}
/*
* exemples :
* http://172.16.5.95:9011/dossfine/dossiers?nom_utilisateur=NASSAFI&code_statut
* =COAS
*/
@RequestMapping(value = { "/dossfin" }, method = RequestMethod.GET, produces =
MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<List<DetailDossFineDTO>>
getDetailsDossFine(@RequestParam("idDossfin") Long idDossfin) {
List<DetailDossFineDTO> listeDetailsDossFine =
detailDossFineService.getDetailsDossFine(idDossfin);
if (listeDetailsDossFine != null && listeDetailsDossFine.size() > 0) {
return new ResponseEntity<List<DetailDossFineDTO>>(listeDetailsDossFine,
HttpStatus.OK);
} else {
return new ResponseEntity<List<DetailDossFineDTO>>(HttpStatus.NO_CONTENT);
}
}
}
DetailDossFineDTO
package net.capcos.ml.back.ms.dcdi.dto;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonRootName;
@JsonRootName("detail_dossfin")
@JsonInclude(Include.NON_NULL)
public class DetailDossFineDTO implements Serializable {
private static final long serialVersionUID = 1030915076726163468L;
@JsonProperty(value = "ID_DOSFIN", required = false)
private Long idDossFin ;
@JsonProperty(value = "IE_AFFAIRE", required = false)
private String ieAffaire ;
@JsonProperty(value = "TYPE_DOSS", required = false)
private String typeDoss ;
@JsonProperty(value = "W_STATUT", required = false)
private String statut ;
@JsonProperty(value = "COMMERCIAL", required = false)
private String commercial ;
@JsonProperty(value = "MT_FIN", required = false)
private String mtFin ;
@JsonProperty(value = "VR", required = false)
private String vr ;
@JsonProperty(value = "PLM", required = false)
private String plm ;
@JsonProperty(value = "FRDOSS", required = false)
private String frdDoss ;
@JsonProperty(value = "TEG", required = false)
private Long teg ;
@JsonProperty(value = "DUREE", required = false)
private Long duree ;
@JsonProperty(value = "LOYER_PALIER", required = false)
private String loyerPalier ;
@JsonProperty(value = "DESING_BIEN", required = false)
private String desingBien ;
@JsonProperty(value = "CRD", required = false)
private String crd ;
@JsonProperty(value = "MT_IMP", required = false)
private String mtImp ;
@JsonProperty(value = "NBR_IMP", required = false)
private Long nbrImp ;
@JsonProperty(value = "PRINCE_IMP", required = false)
private String princImp ;
@JsonProperty(value = "LC_IMP", required = false)
private String lcImp ;
public Long getIdDossFin() {
return idDossFin;
}
public void setIdDossFin(Long idDossFin) {
this.idDossFin = idDossFin;
}
public String getIeAffaire() {
return ieAffaire;
}
public void setIeAffaire(String ieAffaire) {
this.ieAffaire = ieAffaire;
}
public String getTypeDoss() {
return typeDoss;
}
public void setTypeDoss(String typeDoss) {
this.typeDoss = typeDoss;
}
public String getStatut() {
return statut;
}
public void setStatut(String statut) {
this.statut = statut;
}
public String getCommercial() {
return commercial;
}
public void setCommercial(String commercial) {
this.commercial = commercial;
}
public String getMtFin() {
return mtFin;
}
public void setMtFin(String mtFin) {
this.mtFin = mtFin;
}
public String getVr() {
return vr;
}
public void setVr(String vr) {
this.vr = vr;
}
public String getPlm() {
return plm;
}
public void setPlm(String plm) {
this.plm = plm;
}
public String getFrdDoss() {
return frdDoss;
}
public void setFrdDoss(String frdDoss) {
this.frdDoss = frdDoss;
}
public Long getTeg() {
return teg;
}
public void setTeg(Long teg) {
this.teg = teg;
}
public Long getDuree() {
return duree;
}
public void setDuree(Long duree) {
this.duree = duree;
}
public String getLoyerPalier() {
return loyerPalier;
}
public void setLoyerPalier(String loyerPalier) {
this.loyerPalier = loyerPalier;
}
public String getDesingBien() {
return desingBien;
}
public void setDesingBien(String desingBien) {
this.desingBien = desingBien;
}
public String getCrd() {
return crd;
}
public void setCrd(String crd) {
this.crd = crd;
}
public String getMtImp() {
return mtImp;
}
public void setMtImp(String mtImp) {
this.mtImp = mtImp;
}
public Long getNbrImp() {
return nbrImp;
}
public void setNbrImp(Long nbrImp) {
this.nbrImp = nbrImp;
}
public String getPrincImp() {
return princImp;
}
public void setPrincImp(String princImp) {
this.princImp = princImp;
}
public String getLcImp() {
return lcImp;
}
public void setLcImp(String lcImp) {
this.lcImp = lcImp;
}
}
DetailDossFineVEntity
package net.capcos.ml.back.ms.dcdi.domain.virtual;
import java.io.Serializable;
public class DetailDossFineVEntity implements Serializable {
private static final long serialVersionUID = 9083850495096291369L;
private Long idDossFin ;
private String ieAffaire ;
private String typeDoss ;
private String statut ;
private String commercial ;
private String mtFin ;
private String vr ;
private String plm ;
private String frdDoss ;
private Long teg ;
private Long duree ;
private String loyerPalier ;
private String desingBien ;
private String crd ;
private String mtImp ;
private Long nbrImp ;
private String princImp ;
private String lcImp ;
public Long getIdDossFin() {
return idDossFin;
}
public void setIdDossFin(Long idDossFin) {
this.idDossFin = idDossFin;
}
public String getIeAffaire() {
return ieAffaire;
}
public void setIeAffaire(String ieAffaire) {
this.ieAffaire = ieAffaire;
}
public String getTypeDoss() {
return typeDoss;
}
public void setTypeDoss(String typeDoss) {
this.typeDoss = typeDoss;
}
public String getStatut() {
return statut;
}
public void setStatut(String statut) {
this.statut = statut;
}
public String getCommercial() {
return commercial;
}
public void setCommercial(String commercial) {
this.commercial = commercial;
}
public String getMtFin() {
return mtFin;
}
public void setMtFin(String mtFin) {
this.mtFin = mtFin;
}
public String getVr() {
return vr;
}
public void setVr(String vr) {
this.vr = vr;
}
public String getPlm() {
return plm;
}
public void setPlm(String plm) {
this.plm = plm;
}
public String getFrdDoss() {
return frdDoss;
}
public void setFrdDoss(String frdDoss) {
this.frdDoss = frdDoss;
}
public Long getTeg() {
return teg;
}
public void setTeg(Long teg) {
this.teg = teg;
}
public Long getDuree() {
return duree;
}
public void setDuree(Long duree) {
this.duree = duree;
}
public String getLoyerPalier() {
return loyerPalier;
}
public void setLoyerPalier(String loyerPalier) {
this.loyerPalier = loyerPalier;
}
public String getDesingBien() {
return desingBien;
}
public void setDesingBien(String desingBien) {
this.desingBien = desingBien;
}
public String getCrd() {
return crd;
}
public void setCrd(String crd) {
this.crd = crd;
}
public String getMtImp() {
return mtImp;
}
public void setMtImp(String mtImp) {
this.mtImp = mtImp;
}
public Long getNbrImp() {
return nbrImp;
}
public void setNbrImp(Long nbrImp) {
this.nbrImp = nbrImp;
}
public String getPrincImp() {
return princImp;
}
public void setPrincImp(String princImp) {
this.princImp = princImp;
}
public String getLcImp() {
return lcImp;
}
public void setLcImp(String lcImp) {
this.lcImp = lcImp;
}
}
DetailDossFineMapper
package net.capcos.ml.back.ms.dcdi.mapper;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Component;
import net.capcos.ml.back.ms.dcdi.domain.virtual.DetailDossFineVEntity;
import net.capcos.ml.back.ms.dcdi.dto.DetailDossFineDTO;
@Component
public class DetailDossFineMapper {
public List<DetailDossFineDTO> listeEntitiesToDTOs(List<DetailDossFineVEntity>
entity) {
List<DetailDossFineDTO> listDTOs = new ArrayList<>();
if (entity != null && entity.size() > 0) {
for (int i = 0; i < entity.size(); i++) {
listDTOs.add(entityToDTO(entity.get(i)));
}
return listDTOs;
} else {
return null;
}
}
public DetailDossFineDTO entityToDTO(DetailDossFineVEntity entity) {
DetailDossFineDTO dto = new DetailDossFineDTO();
return entityToDTO(entity, dto);
}
public DetailDossFineDTO entityToDTO(DetailDossFineVEntity entity, DetailDossFineDTO
dto) {
if (entity != null) {
dto.setIdDossFin(entity.getIdDossFin());
dto.setIeAffaire(entity.getIeAffaire());
dto.setTypeDoss(entity.getTypeDoss());
dto.setStatut(entity.getStatut());
dto.setCommercial(entity.getCommercial());
dto.setMtFin(entity.getMtFin());
dto.setVr(entity.getVr());
dto.setPlm(entity.getPlm());
dto.setFrdDoss(entity.getFrdDoss());
dto.setTeg(entity.getTeg());
dto.setDuree(entity.getDuree());
dto.setLoyerPalier(entity.getLoyerPalier());
dto.setDesingBien(entity.getDesingBien());
dto.setCrd(entity.getCrd());
dto.setMtImp(entity.getMtImp());
dto.setNbrImp(entity.getNbrImp());
dto.setPrincImp(entity.getPrincImp());
dto.setLcImp(entity.getLcImp());
return dto;
} else {
return null;
}
}
}
DetailDossFineRepositoryCustom
package net.capcos.ml.back.ms.dcdi.repository;
import java.util.List;
import net.capcos.ml.back.ms.dcdi.domain.virtual.DetailDossFineVEntity;
public interface DetailDossFineRepositoryCustom {
public List<DetailDossFineVEntity> getDetailsDossFine(Long idDossfin);
}
DetailDossFinRepository
package net.capcos.ml.back.ms.dcdi.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import net.capcos.ml.back.ms.dcdi.domain.sys.DualEntity;
public interface DetailDossFinRepository extends JpaRepository<DualEntity, Long>,
DetailDossFineRepositoryCustom {
}
DetailDossFineRepositoryImpl
package net.capcos.ml.back.ms.dcdi.repository.impl;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceContextType;
import javax.persistence.Query;
import org.hibernate.jpa.TypedParameterValue;
import org.hibernate.type.StandardBasicTypes;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Repository;
import net.capcos.ml.back.ms.dcdi.domain.virtual.DetailDossFineVEntity;
import net.capcos.ml.back.ms.dcdi.repository.DetailDossFineRepositoryCustom;
@Repository
//@Transactional(rollbackFor = Exception.class)
public class DetailDossFineRepositoryImpl implements DetailDossFineRepositoryCustom {
@SuppressWarnings("unused")
private static final Logger log =
LoggerFactory.getLogger(DossFineRepositoryImpl.class);
@PersistenceContext(unitName = "db-PU", type = PersistenceContextType.TRANSACTION)
private EntityManager entityManager;
@SuppressWarnings("unchecked")
@Override
public List<DetailDossFineVEntity> getDetailsDossFine(Long idDossfin) {
// @formatter:off
String sql="select z.ID_DOSFIN, "
+ "z.IE_AFFAIRE,"
+ "z.TYPE_DOSS,"
+ "z.W_STATUT,"
+ "z.COMMERCIAL,"
+ "z.MT_FIN,"
+ "z.VR,"
+ "z.PLM,"
+ "z.FRDOSS,"
+ "z.TEG,"
+ "z.DUREE,"
+ "z.LOYER_PALIER,"
+ "z.DESING_BIEN,"
+ "z.CRD,"
+ "z.MT_IMP,"
+ "z.NBR_IMP,"
+ "z.PRINC_IMP,"
+ "z.LC_IMP"
+ " from table(pkg_comite_0mle.DB_DETAIL_DOS_FIN_MLE(:idDossfin)) z";
// @formatter:on
Query query = entityManager.createNativeQuery(sql);
query.setParameter("idDossfin", new TypedParameterValue(StandardBasicTypes.LONG,
idDossfin));
DetailDossFineVEntity detailDossFineVEntity = null;
List<DetailDossFineVEntity> listDetailDossFineVEntity = new ArrayList<>();
List<Object[]> rawResults;
;
try {
rawResults = (List<Object[]>) query.getResultList();
if (rawResults != null && rawResults.size() > 0) {
for (int i = 0; i < rawResults.size(); i++) {
int l = 0;
detailDossFineVEntity = new DetailDossFineVEntity();
detailDossFineVEntity.setIdDossFin((Long) rawResults.get(i)[l++]);
detailDossFineVEntity.setIeAffaire((String)rawResults.get(i)[l++]);
detailDossFineVEntity.setTypeDoss((String) rawResults.get(i)[l++]);
detailDossFineVEntity.setStatut((String) rawResults.get(i)[l++]);
detailDossFineVEntity.setCommercial((String) rawResults.get(i)[l++]);
detailDossFineVEntity.setMtFin((String) rawResults.get(i)[l++]);
detailDossFineVEntity.setVr((String) rawResults.get(i)[l++]);
detailDossFineVEntity.setPlm((String) rawResults.get(i)[l++]);
detailDossFineVEntity.setFrdDoss((String) rawResults.get(i)[l++]);
detailDossFineVEntity.setTeg((Long) rawResults.get(i)[l++]);
detailDossFineVEntity.setDuree((Long) rawResults.get(i)[l++]);
detailDossFineVEntity.setLoyerPalier((String) rawResults.get(i)
[l++]);
detailDossFineVEntity.setDesingBien((String) rawResults.get(i)[l++]);
detailDossFineVEntity.setCrd((String) rawResults.get(i)[l++]);
detailDossFineVEntity.setMtImp((String) rawResults.get(i)[l++]);
detailDossFineVEntity.setNbrImp((Long) rawResults.get(i)[l++]);
detailDossFineVEntity.setPrincImp((String) rawResults.get(i)[l++]);
detailDossFineVEntity.setLcImp((String) rawResults.get(i)[l++]);
listDetailDossFineVEntity.add(detailDossFineVEntity);
}
}
} catch (Exception e) {
listDetailDossFineVEntity = null;
}
return listDetailDossFineVEntity;
}
}
DetailDossFineService
package net.capcos.ml.back.ms.dcdi.service;
import java.util.List;
import javax.annotation.PostConstruct;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import net.capcos.ml.back.ms.dcdi.domain.virtual.DetailDossFineVEntity;
import net.capcos.ml.back.ms.dcdi.dto.DetailDossFineDTO;
import net.capcos.ml.back.ms.dcdi.mapper.DetailDossFineMapper;
import net.capcos.ml.back.ms.dcdi.repository.DetailDossFinRepository;
@Service()
public class DetailDossFineService {
@SuppressWarnings("unused")
private static final Logger LOG =
LoggerFactory.getLogger(DetailDossFineService.class);
@Autowired
private DetailDossFinRepository detailDossFinRepository;
@Autowired
private DetailDossFineMapper detailDossFineMapper;
@PostConstruct
public void init() {
}
public List<DetailDossFineDTO> getDetailsDossFine(Long idDossfin) {
List<DetailDossFineDTO> listDTOs;
List<DetailDossFineVEntity> listComposedDossFine =
detailDossFinRepository.getDetailsDossFine(idDossfin);
listDTOs = detailDossFineMapper.listeEntitiesToDTOs(listComposedDossFine);
return listDTOs;
}
}
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'detailDossFinRestService': Unsatisfied dependency expressed through field 'detailDossFineService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'detailDossFineService': Unsatisfied dependency expressed through field 'detailDossFinRepository'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'detailDossFinRepository': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.List net.capcos.ml.back.ms.dcdi.repository.DetailDossFineRepositoryCustom.get_DetailDossFine(java.lang.Long)! No property get found for type DualEntity!