1.在springboot工程中,默认会扫描启动类所在包路径下面的所有bean,比如启动类下面还有很多的包路径,里面定义了一些类,通过@Componount’注解指定的类会被加载到bean容器,但是如果自己有一个类,达成了jar包不在启动类下面,怎么加载呢?
办法一:可以使用注解的形式,比如:
@Autowire
ClassName classname;
但是如果有多个的话,这样就不好用了,要写好多个;如何用一种更加简单的形式加载bean,这里可以自己写一个简单的注解,在注解里面Import自己需要的类即可,如下:
办法二:在启动类上面加一个自定义的注解:@EnableModifyLogLevel,注解的实现如下:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import({LogChangeListener.class, LogInitBean.class})
public @interface EnableModifyLogLevel {
}
这里的Import的两个类就是需要加载的bean,这样就可以通过简单的添加一个注解来加载自己自定义的bean了,而且可
以是很多个,可以打到jar包里面通过Maven引入都是ok的;
1096

被折叠的 条评论
为什么被折叠?



