用SpringBoot提供一个jar包给别人调用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/didi7696/article/details/83276770

提供的jar包只包含自己写的逻辑,在提供的jar包中所依赖的其他j的ar包并不打包在自己写的jar包内,而是由jar包使用者将提供jar包的依赖包一并导入。

测试demo包括jar包提供项目ProvideMyJar 和jar包使用项目ProvideMyJarTest

其中在ProvideMyJar代码编写的时候依赖包全部导入,但是最后不打包,由ProvideMyJarTest最后导入

ProvideMyJar 代码
在这里插入图片描述

这里注册成bean
@Component
public class Hello {


    public void say(){
        System.out.println("hello world !!!");
    }

}

ProvideMyJarTest代码

在这里插入图片描述


@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = App.class)
public class Test2 {

     @Autowired
     Hello hello;

     @Test
     public  void main(){

          hello.say();

     }

}

启动类:

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})
@ComponentScan("cc")  //扫描提供的jar包注册的bean
public class App {
    public static void main(String[] args) {

        SpringApplication application = new SpringApplication(App.class);
        application.setBannerMode(Banner.Mode.OFF);
        application.run(args);
    }

}

输出:

在这里插入图片描述

注意:ProvideMyJar的启动类要删除,不然程序无法知道启动类是哪个,还有ProvideMyJar里面注册的bean在ProvideMyJarTest中要被扫描到

2
在这里插入图片描述

扫描二维码关注公众号,回复: 4226479 查看本文章

APP代码
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})

//下面三种都可以 即jar包注解注册的bean所在包要被扫描到
@ComponentScan(“cc.ok.bb”)
//@ComponentScan(“cc.ok”)
//@ComponentScan(“cc”)

public class App {
public static void main(String[] args) {

    SpringApplication application = new SpringApplication(App.class);
    application.setBannerMode(Banner.Mode.OFF);
    application.run(args);
}

}

猜你喜欢

转载自blog.csdn.net/didi7696/article/details/83276770