关于Spring记忆点(面试题)
问题1:Spring到底自动会不会创建对象?(怎么自动创建对象)
一、组件扫描:@ComponentScan。Spring的组件扫描会自动扫配置路径,路径为根包及子孙包下有加组件注解所有的类,
并自动创建对象
1.组件扫描,到底扫的哪个包(@ComponentScan),一般@ComponentScan是有指定包,那就以它所在包的路径为准,例如
@ComponentScan(cn.tedu.csmall.product)
2.类有没有添加组件注解(@Component / @Controller / @Service / @Repository这4个注解中的任意一个)
二、 使用@Bean方法创建对象
使用Spring框架时,可以在配置类中自定义创建对象的方法,并在方法上添加@Bean注解,
则Spring框架会自动调用此方法,并将此方法返回的对象保存在Spring容器。
@Configuration
public class BeanConfiguration {
// 假设某Controller并没有通过组件扫描的做法来创建对象
@Bean
public BrandController brandController() {
return new BrandController();
}
}
问题2:Spring管理的对象的作用域
Spring管理的对象,默认情况下,是单例的!单例