Spring Core 知識(shí)點(diǎn)總結(jié)
1卸耘、容器:創(chuàng)建并管理bean的容器
①創(chuàng)建:使用反射技術(shù)退敦,創(chuàng)建bean的實(shí)例
②設(shè)計(jì):使用工廠模式(BeanFactory)
③管理:容器中的每個(gè)bean,Spring默認(rèn)采用單例方式管理蚣抗,可以通過(guò)設(shè)置<bean scope="prototype"/>更改每次獲取時(shí)創(chuàng)建不同的實(shí)例
④ApplicationContext(接口):
ClassPathXmlApplicationContext:在classpath路徑下加載xml配置文件侈百,完成Spring容器的加載;也可以采用注解的方式翰铡,需要在xml配置文件中使用<context:component-scan base-package=""/>完成類掃描
AnnotationConfigApplicationContext:基于注解配置的Spring容器加載方式
2钝域、注解
①聲明bean
@Component:組件
@Controller:控制器組件
@Service:業(yè)務(wù)層組件
@Repository:數(shù)據(jù)訪問(wèn)層組件
②聲明注入
Spring Framework
@Autowired:自動(dòng)裝配(默認(rèn)按照類型自動(dòng)裝配),按照當(dāng)前聲明的接口類型锭魔,在容器中查找該接口的實(shí)現(xiàn)類對(duì)象bean,進(jìn)行自動(dòng)注入
@Qualifier:按照bean名稱名稱自動(dòng)裝配例证,與@Autowired注解配合使用。按照當(dāng)前當(dāng)前指定的bean名稱迷捧,在容器中查找該名稱對(duì)應(yīng)的bean织咧,進(jìn)行自動(dòng)注入
Java標(biāo)準(zhǔn)注解
@Resource:javax擴(kuò)展包提供的注解,完成自動(dòng)注入漠秋,默認(rèn)按照類型自動(dòng)注入笙蒙,也可以使用name屬性按照名稱自動(dòng)注入
3、IOC和DI
IOC:Inverse Of Control(控制反轉(zhuǎn))
DI:Dependency Injection(依賴注入)
思想:將項(xiàng)目中的類(組件)交給Spring容器管理庆锦,按照組件之間的依賴關(guān)系(采用xml配置文件或注解)捅位,完成組件之間的注入,降低組件之間的耦合
三種注入方式:
(1)屬性setter注入(必須存在無(wú)參構(gòu)造方法)
(2)構(gòu)造注入(使用有參構(gòu)造方法進(jìn)行注入)
(3)接口注入