Sping核心功能:IOC和AOP IOC:控制反转 AOP:面向切面编程
Spring IOC:
1.Spring Bean定义
由 Spring IOC 容器管理的对象称为 Bean,Bean 根据 Spring 配置文件中的信息创建。可以把 Spring IoC 容器看作是一个大工厂,Bean 相当于工厂的产品,如果希望这个大工厂生产和管理 Bean,则需要告诉容器需要哪些 Bean,以及需要哪种方式装配 Bean。
2.在Application Context中访问Bean
ApplicationContext 即为:应用程序上下文
- 是Spring的核心,简单理解ApplicationContext就是Spring容器
- 所有IOC管理的JavaBean组件都在ApplicationContext对象中
- 可以通过ApplicationContext的API方法获取任何被Spring管理的Bean对象
- 有两种获取 ApplicationContext 方式
- SpringApplication.run(ConfigBeans.class);
- 注入 ApplicationContext
public class Demo01 { public static void main(String[] args) { ApplicationContext context = SpringApplication.run(ConfigBeans.class); List<String> list = context.getBean("names", ArrayList.class); System.out.println(list); } }
@SpringBootTest
public class ApplicationContextTests {
@Autowired
ApplicationContext context;
@Test
void context(){
List<String> list = context.getBean("names", List.class);
System.out.println(list);
}
}
3.Bean的配置
可以分为显示配置和隐式配置
显示配置: @Bean注解显示定义Bean
1.Spring提供了@Bean注解,在Spring 配置类中声明Java Bean。这种方式被称为"显示定义Bean"(如果需要使用第三方式组件就不能在源码上标注@Component)
2.使用方式:
- 在组件扫描的子包中创建一个配置类, 配置类上标注@Configuration
- 定义创建组件的方法, 在方法上标注@Bean
- Spring Boot 在启动时候,会自动扫描到配置类,创建Java Bean
- 声明Bean对象的方法名就是组件的默认ID,可以用于解决歧义问题
- 可以设置@Bean的属性设置BeanID