मुझे निम्नलिखित त्रुटि प्राप्त हो रही है:
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of method setApplicant in webService.controller.RequestController required a bean of type 'com.service.applicant.Applicant' that could not be found.
Action:
Consider defining a bean of type 'com.service.applicant.Applicant' in your configuration.
मैंने यह त्रुटि पहले कभी नहीं देखी है लेकिन यह अजीब है कि @Autowire काम नहीं कर रहा है। यहाँ परियोजना संरचना है:
आवेदक इंटरफ़ेस
public interface Applicant {
TApplicant findBySSN(String ssn) throws ServletException;
void deleteByssn(String ssn) throws ServletException;
void createApplicant(TApplicant tApplicant) throws ServletException;
void updateApplicant(TApplicant tApplicant) throws ServletException;
List<TApplicant> getAllApplicants() throws ServletException;
}
ApplicantImpl
@Service
@Transactional
public class ApplicantImpl implements Applicant {
private static Log log = LogFactory.getLog(ApplicantImpl.class);
private TApplicantRepository applicantRepo;
@Override
public List<TApplicant> getAllApplicants() throws ServletException {
List<TApplicant> applicantList = applicantRepo.findAll();
return applicantList;
}
}
अब मुझे बस ऑटोवेयर आवेदक के लिए सक्षम होना चाहिए और उपयोग करने में सक्षम होना चाहिए, हालांकि इस मामले में यह तब काम नहीं कर रहा है जब मैं इसे अपने में कॉल करता हूं @RestController:
@RestController
public class RequestController extends LoggingAware {
private Applicant applicant;
@Autowired
public void setApplicant(Applicant applicant){
this.applicant = applicant;
}
@RequestMapping(value="/", method = RequestMethod.GET)
public String helloWorld() {
try {
List<TApplicant> applicantList = applicant.getAllApplicants();
for (TApplicant tApplicant : applicantList){
System.out.println("Name: "+tApplicant.getIndivName()+" SSN "+tApplicant.getIndSsn());
}
return "home";
}
catch (ServletException e) {
e.printStackTrace();
}
return "error";
}
}
------------------------ अद्यतन 1 -----------------------
मैंने कहा
@SpringBootApplication
@ComponentScan("module-service")
public class WebServiceApplication extends SpringBootServletInitializer {
@Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(WebServiceApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(WebServiceApplication.class, args);
}
}
और त्रुटि चली गई लेकिन कुछ भी नहीं हुआ। हालाँकि, जब मैंने टिप्पणी की कि मैं जोड़ने से पहले सब कुछ निपटने Applicant
में सक्षम था, तो मैं एक स्ट्रिंग वापस करने में सक्षम था , इस प्रकार मेरा काम कर रहा था, अब इसे छोड़ दिया जा रहा है। मैं अब बदसूरत ।RestController
@ComponentScan()
UI
RestController
Whitelabel Error Page
--------------------- अद्यतन 2 --------------------------- ---
मैंने बीन के आधार पैकेज को जोड़ा जो इसके बारे में शिकायत कर रहा था। त्रुटि पढ़ता है:
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of method setApplicantRepo in com.service.applicant.ApplicantImpl required a bean of type 'com.delivery.service.request.repository.TApplicantRepository' that could not be found.
Action:
Consider defining a bean of type 'com.delivery.request.request.repository.TApplicantRepository' in your configuration.
मैंने कहा @ComponentScan
@SpringBootApplication
@ComponentScan({"com.delivery.service","com.delivery.request"})
public class WebServiceApplication extends SpringBootServletInitializer {
@Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(WebServiceApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(WebServiceApplication.class, args);
}
}
---------------------------- अपडेट 3 -------------------- -
जोड़ने:
@SpringBootApplication
@ComponentScan("com")
public class WebServiceApplication extends SpringBootServletInitializer {
अभी भी मेरी ApplicantImpl
कक्षा के बारे में शिकायत कर रहा हूं जो @Autowires
मेरे रेपो TApplicantRepository
में है।