আপনার কনফিগারেশন [স্প্রিং-বুট] এ ধরণের 'প্যাকেজ' প্রকারের বিনকে বিবেচনা করুন


108

আমি নিম্নলিখিত ত্রুটি পাচ্ছি:

***************************
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.

আমি এই ত্রুটিটি আগে কখনও দেখিনি তবে এটি অদ্ভুত যে @ অটোয়ার কাজ করছে না। প্রকল্পের কাঠামোটি এখানে:

আবেদনকারী ইন্টারফেস

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প্রবেশ করে।


আপনার আবেদনের প্রসঙ্গ ফাইলটি কোথায়? যদি কেউ না থাকে, তাহলে আপনাকে দিতে বিবেচনা করা উচিত স্প্রিং মত টীকা সঙ্গে কিছু ইঙ্গিত @ComponentScan সব মটরশুটি উপলব্ধ করতে।
মারিও স্যান্টিনি

@ মারিওসান্টিনি দয়া করে আপডেটটি দেখুন 1
মাইক 3355

আমি ধরে নিয়েছি প্রতিটি আপডেটের পরে ত্রুটিগুলি পরিবর্তন হয়েছিল? যদি সম্ভব হয় তবে আপনার প্রকল্পের কাঠামো, এবং প্রতিটি ক্ষেত্রে ত্রুটি লগ / স্ট্যাকট্রেস পোস্ট করুন .. "কেন" এই ত্রুটিটি "কিছু" ঘটেছিল তার চেয়ে ত্রুটি দূরে সরে যাওয়ার চেয়ে আরও ভাল। অন্যদের জন্য যারা একই ধরণের সমস্যাটি জুড়ে আসে তাদের জন্য সহায়ক হবে।
আমিন.এম

উত্তর:


201

এটি হতে পারে কারণ প্রকল্পটি বিভিন্ন মডিউলে বিভক্ত হয়ে গেছে।

@SpringBootApplication
@ComponentScan({"com.delivery.request"})
@EntityScan("com.delivery.domain")
@EnableJpaRepositories("com.delivery.repository")
public class WebServiceApplication extends SpringBootServletInitializer {

5
কুল। আমার প্রকল্পটি বেশ কয়েকটি মডিউল দ্বারা বিভক্ত। কম্পোনেন্টস্ক্যান আমার সমস্যার সমাধান!
খলোফেলো মালোমা

কম্পোনেন্টসস্ক্যান টীকাটি আমার সমস্যার সমাধান করে তবে @Eableable AutoConfigration না
jpl

প্রকৃতপক্ষে সক্ষমতাআউটো কনফিগারেশন স্পষ্টভাবে নির্দিষ্ট আইটেমগুলির জন্য একটি বেস "অনুসন্ধান প্যাকেজ" সংজ্ঞায়িত করে এবং একটি রুট প্যাকেজ ব্যবহার করেও বেসপ্যাকেজ বৈশিষ্ট্যটি নির্দিষ্ট না করেই কম্পোনেন্টস্ক্যান টীকাটি ব্যবহার করার অনুমতি দেয়। এবং @ স্প্রিংবুট অ্যাপ্লিকেশন টীকাগুলি ব্যবহার করা যেতে পারে যদি আপনার মূল শ্রেণি মূল প্যাকেজে থাকে
jpl

1
এই সমাধানটি আমাকে এই ত্রুটিটি
2.0.0

2
হ্যাঁ, এটি প্রকল্পটির বিভিন্ন মডিউল হয়ে গেছে to @EntityScanএবং @EnableJpaRepositoriesসঠিক প্যাকেজের নামগুলি আমার পক্ষে কাজ করেছিল।
আদি শিবশঙ্করণ

51

একটি সুযোগ আছে ...
আপনি অনুপস্থিত হতে পারেন @Service, @Repositoryআপনার নিজ নিজ বাস্তবায়ন ক্লাসে টিকা।


2
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত, সহজ এবং পয়েন্ট ফিক্সের। ধন্যবাদ.
নাইটফুরি

1
আমার জন্য কাজ করেছেন। ধন্যবাদ।
ওকাফোর টি কোসিসো

1
ধন্যবাদ, আমি @ রিপোসিটরি টিকা
সেরগোদিভা

1
হ্যাঁ এর উত্তর হওয়া উচিত। উপরের উত্তরগুলি কেবল ধরেই নেওয়া হচ্ছে যে স্ক্যানটি ব্যর্থ হয়েছে, যা ভুল।
সুমিত বাদসারা

48

আপনার আবেদনকারী শ্রেণিটি স্ক্যান করা হয়নি বলে মনে হচ্ছে। ডিফল্টরূপে আপনি যে ক্লাসটি রেখেছিলেন সেটি রুট দিয়ে শুরু হওয়া সমস্ত প্যাকেজ @SpringBootApplicationস্ক্যান করা হবে।

ধরুন আপনার mainক্লাস "ওয়েবসওয়ার অ্যাপ্লিকেশন" " com.service.something" এ রয়েছে, তারপরে " com.service.something" এর অধীনে থাকা সমস্ত উপাদানগুলি স্ক্যান করা হয়েছে, এবং " com.service.applicant" স্ক্যান করা হবে না।

আপনি আপনার প্যাকেজগুলিকে পুনর্গঠন করতে পারেন যেমন "ওয়েবসেসপ্লিকেশন" কোনও মূল প্যাকেজের আওতায় আসে এবং অন্যান্য সমস্ত উপাদান সেই রুট প্যাকেজের অংশ হয়ে যায়। অথবা আপনি @SpringBootApplication(scanBasePackages={"com.service.something","com.service.application"})ইত্যাদির মধ্যে অন্তর্ভুক্ত করতে পারেন যে "সমস্ত" উপাদানগুলি বসন্তের পাত্রে স্ক্যান করা এবং আরম্ভ করা হয়।

মন্তব্য ভিত্তিক আপডেট

আপনার যদি একাধিক মডিউল থাকে যা মেভেন / গ্রেডেল দ্বারা পরিচালিত হয়, সমস্ত বসন্তের প্রয়োজনগুলি স্ক্যান করার প্যাকেজ। আপনি বসন্তকে "com.module1" স্ক্যান করতে বলুন এবং আপনার আর একটি মডিউল রয়েছে যার মূল প্যাকেজের নাম "com.module2" রয়েছে, সেই উপাদানগুলি স্ক্যান করা যাবে না। এমনকি আপনি "কম" স্ক্যান করতে বসন্তকে বলতে পারেন যা " com.module1." এবং " com.module2." এর মধ্যে সমস্ত উপাদান স্ক্যান করবে


আমার প্রকল্প কাঠামো বিভিন্ন মডিউল হয়। উদাহরণস্বরূপ পরিষেবাগুলির নিজস্ব মডিউল থাকবে এবং build.gradle। এই পদ্ধতিগুলির build.gradleনামগুলি dependenciesমূল পদ্ধতির সাথে মডিউলটির সাথে যুক্ত করা হয় । অতএব আপনি যখন দেখেছেন তখন @ComponentScan("module-service")আমি যা ভেবেছিলাম তা কার্যকর হবে। তবে ভিতরে module-serviceএকটি প্যাকেজ আছে। সুতরাং আমার প্রশ্ন যে দেখতে কি হবে? আমি কি কেবল প্যাকেজের নাম বা মডিউলটির নাম রাখি বা কোনওভাবে উভয়কেই নাম দেব?
মাইক 3355

প্যাকেজগুলি বিভিন্ন মডিউলে পড়ে তবে তাতে কিছু যায় আসে না। যে প্যাকেজগুলির মধ্যে উপাদানগুলি স্ক্যান করা উচিত সেগুলি বসন্তে নির্দিষ্ট করা উচিত। আপনি "স্ক্যানবেসপ্যাকেজ" বৈশিষ্ট্যটিতে আপনার সমস্ত মডিউলগুলির সমস্ত "রুট" প্যাকেজের নাম দিতে পারেন .. এবং এটির সমস্ত "প্যাকেজ" যা মডিউল নয়, উল্লেখ করতে হবে।
আমিন.এম

আপনি যা বলেছিলেন তা করেছিলেন এবং ত্রুটিটি চলে গেছে তবে কেবল অন্য একটি প্যাকেজ সম্পর্কে অভিযোগ করার জন্য। স্বাভাবিকভাবেই আমি এটিকে তালিকায় যুক্ত করেছি তবে এটি আর যাবে না। আমি এটি এর মতো প্রয়োগ করেছি:@SpringBootApplication(scanBasePackages= {"com.delivery.service","com.delivery.request"})
মাইক 3355

আমি সবেমাত্র করেছি @SpringBootApplication(scanBasePackages= "com")এবং এটি জেপিএ সংগ্রহস্থল সম্পর্কে অভিযোগ করছে। আপনাকে অনেক ধন্যবাদ. আমি জানতাম না বসন্ত সমস্ত প্যাকেজগুলি স্ক্যান করবে যা আপনি উপরের কাজগুলি করে "com" দিয়ে শুরু করে।
মাইক 3355

23

মূলত এটি তখন ঘটে যখন আপনার ক্লাস অ্যাপ্লিকেশনটি "অন্য প্যাকেজ" এ রয়েছে। উদাহরণ স্বরূপ:

com.server
 - Applicacion.class (<--this class have @ComponentScan)
com.server.config
 - MongoConfig.class 
com.server.repository
 - UserRepository

আমি এপ্লিকেশন.ক্লাসে সমস্যাটি সমাধান করি

@SpringBootApplication
@ComponentScan ({"com.server", "com.server.config"})
@EnableMongoRepositories ("com.server.repository") // this fix the problem

আর একটি কম মার্জিত উপায় হ'ল: একই প্যাকেজে সমস্ত কনফিগারেশন ক্লাস রাখুন।


2
প্রকৃতপক্ষে, আপনাকে @ComponentScanউপরের দৃশ্যে নির্দিষ্ট করার দরকার নেই । কারণ আপনার Application.class(যা @SpringBootApplicationটিকা আছে) স্থাপন করা হয়েছে com.serverযা যাইহোক উভয়ের com.server.configজন্যও মূল com.server.repository
আমিন.এম

@ আমেন.এম এটি আমার সঠিক প্রশ্ন, এটি এখনও কেন সমাধান করা যায় না এবং কেন এটি মঙ্গো রেপো ব্যবহারের জন্য স্পষ্টত স্ক্যানের প্রয়োজন @EnableMongoRepositories?
কার্তিকেইয়ান

10

আমার ক্ষেত্রে আমার ভয়াবহ ভুল ছিল। আমি @Serviceপরিষেবা ইন্টারফেস আপ করা ।

এটি ঠিক করার জন্য, আমি @Serviceপরিষেবা ফাইলের প্রয়োগটি চালু করেছি এবং এটি আমার পক্ষে কাজ করেছে।


আমার জন্যও একই. ধন্যবাদ
মানতা

7

যদি কোনও শিম একই প্যাকেজটিতে থাকে তবে এটি @ অটোভায়ার্ড হয়, তবে এটি কখনও এ জাতীয় সমস্যার কারণ হবে না। তবে মটরশুটি ডিফল্টরূপে বিভিন্ন প্যাকেজ থেকে অ্যাক্সেসযোগ্য নয়। করার এই সমস্যাটি সমাধান পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার মূল শ্রেণিতে নিম্নলিখিতগুলি আমদানি করুন:
    আমদানি org.springframework.context.annotation.Comp घटकScan;
  2. আপনার মূল শ্রেণীর উপরে টিকা যুক্ত করুন:
@ComponentScan(basePackages = {"your.company.domain.package"})
public class SpringExampleApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringExampleApplication.class, args);
    }
}

5

আমি মনে করি আপনি @ রিপোসিটোরির সাহায্যে আপনার রেপোজিটরিটি এটিকে সহজ করে তুলতে পারেন, তবে এটি স্প্রিং ফ্রেমওয়ার্ক দ্বারা স্বয়ংক্রিয়ভাবে সক্ষম হবে।


4

আমার ক্ষেত্রে এই দুটি বিকল্প কাজ করেছিল।

  1. মধ্যে //@ComponentScan ({"myapp", "myapp.resources","myapp.services"}) অন্তর্ভুক্ত এছাড়াও প্যাকেজ যা ঝুলিতে Application.classতালিকা, বা

  2. কেবল যোগ করুন @EnableAutoConfiguration; এটি স্বয়ংক্রিয়ভাবে সমস্ত বসন্ত মটরশুটি স্বীকৃতি দেয়।


3

এটি আপনি যদি লম্বোক ব্যবহার করছেন @RequiredArgsConstructorএবং @NonNullক্ষেত্রগুলির জন্য এবং ক্ষেত্রগুলির জন্য যুক্ত করেন তবে এটিও ঘটতে পারে তবে আপনার কিছু ক্ষেত্র কনস্ট্রাক্টারে ইনজেকশনের প্রয়োজন নেই। একই ত্রুটি পাওয়ার সম্ভাবনাগুলির মধ্যে এটি কেবল একটি।

প্যারামিটার 0 এর জন্য মিসিংবিয়ান নাম টাইপের একটি বিন দরকার যা খুঁজে পাওয়া যায়নি

আমার ক্ষেত্রে ত্রুটিটি আমাকে জানিয়েছিল @NonNullযে অ্যাপ্লিকেশন অপসারণের পরে সমস্যাটি কী নিয়ন্ত্রণে ছিল fine


3

আমি স্প্রিং বুট ২ এর সাথে আমার মাভেন মাল্টি-মডিউল প্রকল্পে পরিচিত সমস্যার মুখোমুখি হয়েছি sub সমস্যাটি সাব মাভেন মডিউলগুলিতে আমার প্যাকেজগুলির নামকরণের সাথে সম্পর্কিত।

@ স্প্রিংবুট অ্যাপ্লিকেশন অনেকগুলি উপাদান যেমন - @ কম্পোনেন্টসস্ক্যান, @ এনিবেলআউটো কনফিগারেশন, জেপিএ-রেপোজিটরিস, জেএসন-সিরিয়ালাইজেশন এবং আরও অনেক কিছুকে অন্তর্ভুক্ত করে। এবং তিনি @ কম্পোনেন্টস্ক্যানকে কম এ রেখেছেন। *******। স্থান প্যাকেজ। প্যাকেজগুলির এই অংশ com। *******। স্থানটি সমস্ত মডিউলগুলির জন্য অবশ্যই সাধারণ হতে হবে।

এটি ঠিক করার জন্য:

  1. আপনার সমস্ত মডিউল প্যাকেজগুলির নাম পরিবর্তন করা উচিত। সমস্ত মাভেন মডিউলগুলির সমস্ত প্যাকেজগুলিতে আপনাকে থাকতে হবে এমন অন্য শব্দ - একই প্যারেন্ট অংশ। উদাহরণস্বরূপ - com। *******। স্পেস
  2. এছাড়াও আপনাকে এই প্যাকেজটিতে আপনার প্রবেশের স্থানটি স্থানান্তর করতে হবে - com। *******। স্পেস

2

আমি একটি উত্তর চেয়ে অনলাইনে চেয়েছিলাম তবে মনে হচ্ছে আমার মামলার সঠিক সমাধানের কোনও নেই: শুরুতে, সবকিছু নীচের মতো কাজ করে:

@Slf4j
@Service
@AllArgsConstructor(onConstructor = @__(@Autowired))
public class GroupService {
    private Repository repository;
    private Service service;
}

তারপরে আমি কিছু ক্যাশে একটি মানচিত্র যুক্ত করার চেষ্টা করছি এবং এটি এটি হয়ে যায়:

@Slf4j
@Service
@AllArgsConstructor(onConstructor = @__(@Autowired))
public class GroupService {
    private Repository repository;
    private Service service;
    Map<String, String> testMap;
}

পরিস্ফুটন!

Description:

Parameter 4 of constructor in *.GroupService required a bean of type 'java.lang.String' that could not be found.


Action:

Consider defining a bean of type 'java.lang.String' in your configuration.

আমি মুছে @AllArgsConstructor(onConstructor = @__(@Autowired))যোগ @Autowiredপ্রত্যেকের জন্য repositoryএবং serviceব্যতীত Map<String, String>। এটি ঠিক আগের মতোই কাজ করে।

@Slf4j
@Service
public class SecurityGroupService {
    @Autowired
    private Repository repository;
    @Autowired
    private Service service;
    Map<String, String> testMap;
}

আশা করি এটি সহায়ক হতে পারে।


2

এটি প্রয়োগে নীচে টীকা যুক্ত করার পরে আমার পক্ষে কাজ করেছে:

@ComponentScan({"com.seic.deliveryautomation.mapper"})

আমি নীচের ত্রুটি পেয়েছিলাম:

"কনস্ট্রাক্টরের প্যারামিটার 1 এর জন্য ম্যাপের টাইপ ম্যাপের দরকার ছিল যা পাওয়া যায়নি:



2

আপনি ঘটনাক্রমে দুটি ভিন্ন শ্রেণিতে একই শিমের সংজ্ঞা দিলে আপনিও এই ত্রুটিটি পেয়ে যাবেন। আমার সাথেও তাই হয়েছিল। ত্রুটি বার্তাটি বিভ্রান্তিকর ছিল। আমি যখন অতিরিক্ত শিমটি সরিয়ে ফেললাম তখন সমস্যাটি সমাধান হয়ে গেছে।


1
@SpringBootApplication
@MapperScan("com.developer.project.mapper")

public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

1

@ সার্ভিস ক্লাসটি বিমূর্ত হিসাবে চিহ্নিত করা হলে এটি ঘটতে পারে।


1

যদি আপনার শ্রেণি নির্ভরতা স্প্রিংয়ের মাধ্যমে পরিচালনা করে থাকে তবে যদি আমরা আমাদের পজো ক্লাসের মধ্যে ডিফল্ট / খালি আরগ কনস্ট্রাক্টর যুক্ত করতে ভুলে যাই তবে এই সমস্যাটি ঘটতে পারে।


1

এটি কারও সাহায্য করতে পারে। আমার একই সমস্যা ছিল, একই ত্রুটি বার্তা, একই জিনিস। আমি অন্যান্য উত্তরগুলি থেকে সমাধানগুলি চেষ্টা করেছি, যতক্ষণ না বুঝতে পেরেছি যে আমি যে শিমটি ব্যবহার করছি সেটির প্রকৃত নাম স্বয়ংক্রিয়ায়িত হয়েছে as এটি রিফ্যাক্টরের মাঝে ঘটেছিল, সুতরাং আমাকে ক্লাসটির নতুন নামকরণ করতে হয়েছিল, যার ফলশ্রুতি ইতিবাচক হয়েছিল। চিয়ার্স


1

আমি একই সমস্যা সম্মুখীন। মঙ্গো ডিবি সংগ্রহস্থলটি স্প্রিং বুট দ্বারা চিহ্নিত করা হয়েছিল, তবে এটি একটি রিপোজিটরি ইন্টারফেসের জন্য বিন তৈরি করছে না যা মঙ্গো সংগ্রহস্থলকে প্রসারিত করেছিল।

আমার ক্ষেত্রে ইস্যুটি "বসন্ত + আম" এর জন্য ম্যাভেন পমে ভুল সংস্করণের স্পেসিফিকেশন ছিল। আমি আর্টিফ্যাক্টের গ্রুপ আইডি পরিবর্তন করেছি এবং এটি সব ম্যাজিকের মতো কাজ করেছে। স্প্রিং বুট হিসাবে সমস্ত রক্ষণাবেক্ষণ করায় কোনও টিকা দরকার নেই।

আমার সমস্যার সমাধানের সময়, আমি সমাধানগুলির সন্ধানে সমস্ত ওয়েব অনুসন্ধান করেছিলাম এবং বুঝতে পেরেছিলাম যে এই সমস্যাটি আসলে প্রকল্পের কনফিগারেশন সম্পর্কিত, ঠিক যেখানে প্রক্রিয়া, সৃষ্টি ব্যর্থ হয়েছে।


0

আমার ক্ষেত্রে এই ত্রুটিটি উপস্থিত হয় কারণ আমার আমদানিটি ভুল ছিল, উদাহরণস্বরূপ, বসন্ত ব্যবহার করে আমদানি স্বয়ংক্রিয়ভাবে উপস্থিত হয়:

import org.jvnet.hk2.annotations.Service;

তবে আমার দরকার ছিল:

import org.springframework.stereotype.Service;

0

আমার একটি কেস হয়েছে যেখানে আমাকে পরিষেবা ক্লাসে রেস্টটেম্পলেট লাগাতে হবে। তবে, রেসটেম্পলেটটি পরিষেবা শ্রেণি দ্বারা বাছাই করা যায় না। আমি যা করেছি তা হ'ল মূল অ্যাপ্লিকেশন হিসাবে একই প্যাকেজের আওতায় একটি মোড়কের ক্লাস তৈরি করা এবং মোড়কটিকে উপাদান হিসাবে চিহ্নিত করা এবং পরিষেবা শ্রেণিতে এই উপাদানটি স্বতঃপাদন করা। সমস্যা সমাধান. আশা করি এটি আপনার জন্যও কাজ করে


0

আমার ত্রুটিটি ছিল আমি অন্তর্ভুক্ত করেছি:

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-jpa</artifactId>
    <version>2.2.5.RELEASE</version>
</dependency>

পরিবর্তে:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

0

আমি মনে করি, আপনি আপনার অনুরোধকন্ট্রোলারে @ বিয়ান টিকাটি মিস করছেন

আপনার ফাইলটিতে বিন যোগ করুন, এটি আমার সমস্যার সমাধান করেছে
আমি টিউটোরিয়ালপয়েন্ট থেকে স্প্রিং বুট শিখার সময় এই সমাধানটি পেয়েছি

private Applicant applicant;

@Bean 
public Applicant applicant() { 
    return new Applicant(); 
}

0

স্প্রিং বুট ডেটা যুক্ত করা জেপিএ স্টার্টার নির্ভরতা আমার জন্য সমস্যাটি সমাধান করেছে।

ম্যাভেন

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    <version>2.2.6.RELEASE</version>
</dependency>

Gradle

compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '2.2.6.RELEASE'

অথবা আপনি সরাসরি এখানে যেতে পারেন


এটি আসলে এই ক্ষেত্রে প্রযোজ্য নয়। এটি ডাটাবেসে সংযোগের বিশদ জানতে অনুরোধ করে (একটি ডেটা সোর্স কনফিগার করতে ব্যর্থ: 'ইউআরএল' বৈশিষ্ট্য নির্দিষ্ট করা হয়নি এবং কোনও এমবেডড ডাটাসোর্স কনফিগার করা যায়নি))। এমন একটি পরিস্থিতিতে যেখানে আমি ডাটাবেসের সাথে ইন্টারঅ্যাক্ট না করে নিজেই পরীক্ষা করতে চাই, এটি কার্যকর হবে না।
টমাস ওকনকভো

0

আপনি যদি ব্যবহার করেন তবে টীকা দিয়ে interfaceপ্রসারিত করতে পারেন ।CrudRepository<Applicant,Long>@Repository


0

আপনি উদাহরণস্বরূপ ব্যবহার করার পরেও সমস্যাটি উপস্থিত হতে পারে @EnableMongoRepositories(YOUR_MONGO_REPOSITORIES_PACKAGE)এবং পরে আপনি প্যাকেজের নামটির নাম পরিবর্তন করে রেখেছিলেন বা অন্য কোনও স্থানে সরিয়ে নিয়েছেন।

একাধিকবার এটি একটি বহু-মডিউল মাভেন প্রকল্প এবং স্প্রিং বুটের মধ্যে মুখোমুখি হয়


0

এমন একটি সুযোগ রয়েছে যে আপনি ইন্টারফেসটি প্রয়োগের আগে @ অটোভায়ারড একটি ইন্টারফেস চেষ্টা করছেন ।

উদাহরণ সমাধান:

    **HomeController.java**
    class HomeController{

      @Autowired
      UserService userService;
    .....
    }
----------------------------------------------------------------------
    **UserService.java** 
    public interface UserService {
        User findByUsername(String username);
    .....
    }
-----------------------------------------------------------------------
     **UserServiceImpl.java**
     @Service
     public class UserServiceImpl implements UserService{

         public User findByUsername(String username) {
           return userDao.findByUsername(username);
         }
        ....
      }

<i>This is not italic</i>, and [this is not a link](https://example.com)


0

নীচে দেওয়া হিসাবে প্রকল্প কাঠামো কনফিগার করার চেষ্টা করুন:

প্রধান প্যাকেজের চাইল্ড প্যাকেজে সমস্ত রেপো, পরিষেবা, প্যাকেজগুলি রাখুন:

package com.leisure.moviemax;  //Parent package
        
@SpringBootApplication
@PropertySource(value={"classpath:conf.properties"})
    
public class MoviemaxApplication implements CommandLineRunner {
        
package com.leisure.moviemax.repo; //child package

@Repository
public interface UsrRepository extends JpaRepository<UserEntity,String> {

0

স্মরণ করিয়ে দিবে যে বসন্ত বিশ্বকে স্ক্যান করে না, এটি টার্গেটযুক্ত স্ক্যানিং উইচ ব্যবহার করে যার অর্থ প্যাকেজের অধীনে যেখানে স্প্রিংবুট অ্যাপ্লিকেশন সংরক্ষণ করা আছে everything অতএব এই ত্রুটিটি "আপনার কনফিগারেশন [স্প্রিং-বুট] এ ধরণের 'প্যাকেজটির ধরণ নির্ধারণের বিষয়টি বিবেচনা করুন" প্রদর্শিত হতে পারে কারণ আপনার কোনও ভিন্ন স্প্রিংবুটপ্লিকেশন প্যাকেজে পরিষেবা ইন্টারফেস রয়েছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.