標籤:instance sep mysq 隱式 添加 classes 屬性 mysql 實現
1、Spring配置的可選方案
- 在XML中進行顯式配置。
- Java中進行顯式配置。
- 隱式的bean發現機制和自動裝配。
2、自動化裝配bean
Spring從兩個角度來實現自動化裝配:
- 組件掃描(component scanning): Spring會自動探索應用上下文中所建立的bean。
- 自動裝配(autowiring): Spring自動滿足bean之間的依賴 。
2.1、建立可被發現的bean——@Component(在POJO實作類別上添加@Component註解);
2.2、啟用組件掃描——@ComponentScan
- 在java配置類上添加@ComponentScan註解啟用組件掃描
@Configuration@ComponentScanpublic class DemoConfig {}
<beans ... >
<context:component-scan base-package="" />
</beans>
2.3、為組件掃描的bean命名
- @Component("beanName");
- @Named("beanName");
2.4、設定組件掃描的基礎包
- 如果是通過Java配置類進行配置的,預設配置類所在的包為基礎包;
- 通過basePackages配置組件掃描的基礎包——@ComponentScan(basePackages={"xxx", "xxxx"});
- 將其指定為包中包含的類或介面——@ComponentScan(basePackageClasses={xxx.class, xxxx.class});
2.5、通過為bean添加註解實現自動裝配——@Autowired。@Autowired = @inject
- 在屬性上使用@Autowired;
- 在構造方法上使用@Autowired;
- 在setter方法上使用@Autowired;
- 在任何方法上使用@Autowired。
3、通過Java代碼裝配bean
@Configuration // 使用@Autowired聲明該類為配置類public class CDPlayerConfig { @Bean // 預設情況下bean的ID與帶有@Bean註解的方法名相同
public CompactDisc sgtPeppers() {
return new SgtPeppers();
}
@Bean(name="beanName")
public CompactDisc sgtPeppers2() {
return new SgtPeppers();
}
@Bean
public CDPlayer cdPlayer(CompactDisc compactDisc) {
return new CDPlayer(compactDisc);
}
}
4、通過XML裝配bean
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.10.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.10.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.10.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.10.xsd"> <!-- 配置資料來源 --> <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean> <!-- 掃描Mybatist設定檔 --> <bean name="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactory"> <property name="dataSource" ref="dataSource" /> <property name="mapperLocations" value="classpath:mysql/*.xml"/> </bean> <!-- Mapper掃描配置 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.zhux.user.dao"/> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> </bean></beans>
5、匯入和混合配置
5.1、在JavaConfig中引用XML配置;
5.2、在XML配置中引用JavaConfig。
Spring學習筆記——裝配Bean