spring怎么获取bean
Spring获取Bean有以下几种方式:1. 使用@ComponentScan注解扫描指定包路径下的所有类,通过@Autowired注解自动注入。```java@Configurationpublic class AppConfig1 {@Beanpublic MyBean myBean1() {return new MyBean();}//...}@Configurationpublic class AppConfig2 {@Beanpublic MyBean myBean2() {return new MyBean();}//...}@Component@Importpublic class MyClass {@Autowiredprivate MyBean myBean1;@Autowiredprivate MyBean myBean2;//...}```4. 使用@ImportResource注解引入XML配置文件,通过@Autowired注解自动注入。
Spring获取Bean有以下几种方式:
1. 使用@ComponentScan注解扫描指定包路径下的所有类,通过@Autowired注解自动注入。
```java
@Component
public class MyClass {
@Autowired
private MyBean myBean;
//...
}
```
2. 使用@Configuration注解配置JavaConfig类,使用@Bean注解定义Bean,通过@Autowired注解自动注入。
```java
@Configuration
public class AppConfig {
@Bean
public MyBean myBean() {
return new MyBean();
}
//...
}
@Component
public class MyClass {
@Autowired
private MyBean myBean;
//...
}
```
3. 使用@Import注解引入其他配置类,通过@Autowired注解自动注入。
```java
@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;
//...
}
```
4. 使用@ImportResource注解引入XML配置文件,通过@Autowired注解自动注入。
```java
@Configuration
@ImportResource({"classpath:applicationContext.xml"})
public class AppConfig {
//...
}
@Component
public class MyClass {
@Autowired
private MyBean myBean;
//...
}
```
5. 使用ApplicationContext的getBean方法获取Bean。
```java
@Component
public class MyClass {
private MyBean myBean;
@Autowired
private ApplicationContext applicationContext;
@PostConstruct
public void init() {
myBean = applicationContext.getBean(MyBean.class);
}
//...
}
```