1.@Configuration 和 @Component 區(qū)別
我們可以看下,其實(shí)@Configuration 本質(zhì)其實(shí)是 @Component注解的,因此??<context:component-scan>和@ComponentScan都能處理@Configuration 類

被@Configuration 標(biāo)記的類必須符合下面幾點(diǎn)要求
1.配置類必須是要以類的形式提供,不能是工廠返回的實(shí)例,允許生成子類在運(yùn)行是增強(qiáng)cglib動(dòng)態(tài)代理
2配置類不能是fanl 修飾,不能是匿名類(?任何嵌套的類必須是非本地, 既不能在方法中聲明,不能是privater),嵌套的configruation必須是靜態(tài)類
3.@Bean 方法可能不會(huì)返過來創(chuàng)建進(jìn)一步的配置類 意思就是返回的bean 帶有@Configuration.也只是當(dāng)作普通類來處理。
原理分析待續(xù)····························
2.@Configuration 和 @bean
這里@Configuration可以看作是用spring的時(shí)候xml里面的<beans>標(biāo)簽
@Bean可以理解為用spring 的時(shí)候里面<bean>標(biāo)簽
這兩個(gè)注解是spring 里面的,并不是spring boot里面的
在spring xml 這種形式的項(xiàng)目的時(shí)候 后面都要加上<context:component-scan?base-package="com.xxx.xxx"> ,有時(shí)候好多注解不起作用, 可能就是這個(gè)注解。而在spring boot里面就不一樣了, 只要保證main方法的入口在這些的列的上層包就行