0

主班

      package com.prac.sdp;
      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication;
      import org.springframework.context.ApplicationContext;
      import com.prac.sdp.pdf.PdfGenerator;

     @SpringBootApplication
      public class SdpApplication {


       public static void main(String[] args) {
          ApplicationContext ctx=SpringApplication.run(SdpApplication.class, args);
          PdfGenerator pdg=ctx.getBean(PdfGenerator.class);
          pdg.pdfgenerate();
        }
    }

       

PdfGenerator.java

              package com.prac.sdp.pdf;
              import java.io.FileNotFoundException;
              import org.springframework.beans.factory.annotation.Autowired;
              import org.springframework.stereotype.Component;
              import com.itextpdf.kernel.pdf.PdfDocument;
              import com.itextpdf.kernel.pdf.PdfPage;
              import com.itextpdf.kernel.pdf.PdfWriter;
              import com.itextpdf.kernel.pdf.canvas.PdfCanvas;
              import com.itextpdf.layout.Document;

           @Component
            public class PdfGenerator {

          @Autowired 
          PdfWriter writer;  <------ Autowiring is not working here I don't know why.
        }

 

问题——考虑在你的配置中定义一个“com.itextpdf.kernel.pdf.PdfWriter”类型的bean。

尝试的解决方法:
使用 @ComponentScan("com.itextpdf") --> 在线程“main”org.springframework.beans.factory.NoSuchBeanDefinitionException 中开始出现异常:没有类型为 'com.prac.sdp.pdf.PdfGenerator' 的合格 bean可用的。

让我知道如何解决这个问题我被困在这个问题上。提前致谢。

4

1 回答 1

0

使用@Bean注解标签创建bean,因为这是来自第三方库,您需要通过方法定义。

@Bean
public PdfWriter writer(){
  return new PdfWriter();
}

将上述方法添加到您的 SdpApplication 类。

于 2020-09-07T14:16:56.753 回答