@Configuration注解的作用是替代原始 spring配置文件 功能
编写配置类
import com.kenny.bean.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyConfig {
@Bean
public User getUser() {
return new User();
}
}
使用@Import导入的类会被Spring加载到IOC容器中
@Import提供4中用法:
- 导入Bean
- 导入配置类
- 导入 ImportSelector 实现类。一般用于加载配置文件中的类
- 导入 ImportBeanDefinitionRegistrar 实现类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Import;
import java.util.Map;
@SpringBootApplication
@Import(User.class)
public class DataApplication {
public static void main(String[] args) {
ConfigurableApplicationContext applicationContext = SpringApplication.run(DataApplication.class, args);
Map<String, User> map = applicationContext.getBeansOfType(User.class);
System.out.println(map);
User user1 = applicationContext.getBean("com.kenny.pojo.User", User.class);
System.out.println(user1);
}
}
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Import;
import java.util.Map;
@SpringBootApplication
@Import(MyConfig.class)
public class DataApplication {
public static void main(String[] args) {
ConfigurableApplicationContext applicationContext = SpringApplication.run(DataApplication.class, args);
Map<String, User> map = applicationContext.getBeansOfType(User.class);
System.out.println(map);
User user1 = applicationContext.getBean("getUser", User.class);
System.out.println(user1);
Map<String, MyConfig> config = applicationContext.getBeansOfType(MyConfig.class);
System.out.println(config);
}
}