溫馨提示×

spring怎么獲取bean

小億
104
2023-09-04 23:34:51
欄目: 編程語言

Spring獲取Bean有以下幾種方式:

  1. 使用@ComponentScan注解掃描指定包路徑下的所有類,通過@Autowired注解自動注入。
@Component
public class MyClass {
@Autowired
private MyBean myBean;
//...
}
  1. 使用@Configuration注解配置JavaConfig類,使用@Bean注解定義Bean,通過@Autowired注解自動注入。
@Configuration
public class AppConfig {
@Bean
public MyBean myBean() {
return new MyBean();
}
//...
}
@Component
public class MyClass {
@Autowired
private MyBean myBean;
//...
}
  1. 使用@Import注解引入其他配置類,通過@Autowired注解自動注入。
@Configuration
public class AppConfig1 {
@Bean
public MyBean myBean1() {
return new MyBean();
}
//...
}
@Configuration
public class AppConfig2 {
@Bean
public MyBean myBean2() {
return new MyBean();
}
//...
}
@Component
@Import({AppConfig1.class, AppConfig2.class})
public class MyClass {
@Autowired
private MyBean myBean1;
@Autowired
private MyBean myBean2;
//...
}
  1. 使用@ImportResource注解引入XML配置文件,通過@Autowired注解自動注入。
@Configuration
@ImportResource({"classpath:applicationContext.xml"})
public class AppConfig {
//...
}
@Component
public class MyClass {
@Autowired
private MyBean myBean;
//...
}
  1. 使用ApplicationContext的getBean方法獲取Bean。
@Component
public class MyClass {
private MyBean myBean;
@Autowired
private ApplicationContext applicationContext;
@PostConstruct
public void init() {
myBean = applicationContext.getBean(MyBean.class);
}
//...
}

0