Spring学习笔记(一)——装配Bean

1. Spring装配的三种方案:

(1)自动化装配Bean

(2)Java代码装配Bean

(3)XML装配Bean

2.装配优先选择自动化装配,其次Java代码装配,最后再选择XML装配。

3.自动化装配要点:

(1)对需要装配成Bean的类标注@Component。

(2)使用@ComponentScan开启组建扫描,自动获取标注到@Component的bean。(只扫描和配置类同一个包,若扫描其它包@ComponentScan("package_name"))

也可以在XML中插入下面的一行代码开启组建扫描。

<context:component-scan base-package="package_name"/>

(3)对bean命名(ID)默认为类名首字母小写,若自定义@Component("bean_name")。

(4)对需要注入的构造器或Setter标注@Autowired。

4.Java代码装配要点:

(1)创建配置类JavaConfig,添加@Configuration注解。

(2)用下例格式声明bean:

1 @Bean
2 public class_name a(){
3     return new A(); //构造函数返回一个对象
4 }

bean的ID同方法名,若自定义则@Bean(name="bean_name")

(3)注入的格式如下:

1 @Bean
2 public class_name b(){
3     return new B(a());
4 }

5.XML配置要点

(1)声明<bean>格式如下:

<bean id="bean_name" class="类的路径"/>

(2)注入方法有两种:借助构造器注入,Setter方法注入

①构造器注入:

1 <bean id="bean_name" class="被注入的对象">
2     <constructor-arg ref="注入的bean" />
3 </bean>

若注入的是字面量:

 1 <bean id="bean_name" class="被注入的对象">
 2     <constructor-arg value="注入的第一个量"/>
 3     <constructor-arg value="注入的第二个量"/>
 4     ...
 5     <!--若存在List类型的量-->
 6     <constructor-arg>
 7         <list>
 8             <value>list中的第一个量</value>
 9             <value>list中的第二个量</value>
10             ...
11         </list>
12     </constructor-arg>
13 </bean>

 ②Setter方法注入:

1 <bean id="bean_name" class="被注入的对象">
2     <property name="set的某一属性" ref="注入的bean"/>
3 </bean>

若注入的是字面量:

 1 <bean id="bean_name" class="被注入的对象">
 2     <property name="属性1" value="注入的第一个量"/>
 3     <property name="属性2" value="注入的第二个量"/>
 4     ...
 5     <property name="list类型的属性3">
 6           <list>
 7               <value>注入list的第一个量</value>
 8               <value>注入list的第一个量</value>
 9               ...
10           </list>
11     </property>    

猜你喜欢

转载自www.cnblogs.com/orangecyh/p/9775107.html