如果引用第三方jar包,肯定是不能直接使用常用注解@Controller、@Service、@Repository、@Component将类的实例注入到spring容器中。以下四种方法可以向spring容器中导入三方包中类实例 。
1 xml配置
这种情况大家用的比较多,就是在spring的xml文件中配置需要导入的bean。在springweb项目工程web.xml中 ContextLoaderListener或者DispatcherServlet的初始参数contextConfigLocation指定spring配置文件位置,可以在该配置文件中直接定义bean,或者在该配置文件中import专门配置三方bean的xml文件。springboot工程,可以在启动类上面加注解@ImportResource。@ImportResource注解可以通过value指定需要扫描的xml文件,value是字符串数组可以指定多个xml配置文件。
@SpringBootApplication
@ImportResource(value = {"classpath:spring-bean.xml"})
public class DubboOneApplication {
public static void main(String[] args) {
SpringApplication.run(DubboOneApplication.class, args);
}
}
2 @Configuration和@Bean
可以通过直接直接向spring容器注入bean。在开启注解扫描的情况下,在扫描的包路径中添加具有@Configuration注解的类,在该类的定义返回某个实例的方法,这个方法加上@Bean的注解,那么这个方法的返回值将注入spring