1.自動化裝配beanjava
spring從兩個角度來實現自動化裝配:spring
1)組件掃描(component scanning):spring 會自動發現應用上下文中所建立的beanapp
2)自動裝配(autowiring):spring自動知足bean之間的依賴異步
組件掃描默認是不啓用的,因此須要顯示配置一下spring,命令spring去訊早帶有@component註解的類,併爲其建立bean.spa
@compnetScan註解就是啓用組件掃描,就會掃描本包裏面全部的component組件。線程
2.使用java代碼裝配beancomponent
不少狀況下經過組件掃描和自動裝配來實現spring的自動化裝配是最爲推薦的方式,但有時候自動化配置的方案行不通,所以須要明確配置spring。好比像加載第3方庫中的組件裝配到你的應用中,這個時候就沒辦法在類上加@Component和@Autowired註解,所以就不能使用自動化裝配的方案了。xml
這時採用顯示裝配的方式。如java和xml。自動化
@configurationio
@Bean表名這個方法會建立一個bean實例並將其註冊到spring應用上下文中,
3.xml配置
4.@ConfigurationProperties註解主要用來把properties配置文件轉化爲bean來使用的,而@EnableConfigurationProperties註解的做用是@ConfigurationProperties註解生效。若是隻配置@ConfigurationProperties註解,在IOC容器中是獲取不到properties配置文件轉化的bean的。
5.環境與profile
@profile("prod")
@Profile註解應用在了類級別上。它會告訴Spring這個配置類中的bean只有在prod profile激活時纔會建立。若是dev profile沒有激活的話,那麼帶有@Bean註解的方法都會被忽略掉。
spring.profiles.active:
使用@activeProfiles註解配置
6.@Async爲異步註解,表示該方法的線程與此方法異步執行,須要配合@EnableAsync註解使用。若是隻有@Async是不生效的,要在Appliction的啓動中加上@EnableAsync纔會生效。
7.自動裝配
@ComponentScan爲組件掃描,,("com.coocaa.radar")其後加生效區間,爲組件掃描,會自動掃描該包裏的@Component註解
@Component爲獨立的組件
8.//針對第三方庫
@Configuration給類加註解,是以java的方式來加載bean
其類中的方法加@Bean註解,表示這個方法會建立一個bean實例,並將其註冊到spring應用上下文中。
9.//針對配置中的信息的讀取
@ConfigurationProperties(prefix = "app_manage_check")
表明從配置中讀取信息,但要配合@EnabelConfigurationProperties({AmqpConfig.class}) 纔會生效
還能夠@ConfigurationProperties(prefix = "app_manage_check")與@Component或者@Configuration一塊兒也會生效
10.@Value("${conf.amqp.queue_broadcast_log.name}")
從配置中讀取
11.@Aspect註解,面向aop切面,只加@Aspect是不生效的,要加上@Component或者@Configuration
12.@Configuration
@ConfigurationProperties(prefix = "ldap")
@PropertySource("classpath:ldap.properties")
@PropertySource註解用來指定要讀取的配置文件的路徑從而讀取這些配置文件,能夠同時指定多個配置文件;