VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • java教程之Spring - SpringIOC容器详解(2)

  2.装配集合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<bean id="beanName" class="类的全限定名">
    <property name="字段名set">
      <set>
        <value>value</value>
        //<ref bean="otherBeanName">
      </set>
    </property>
    <property name="字段名list">
      <list>
        <value>value</value>        //<ref bean="otherBeanName">
      </list>
    </property>    <property name="字段名props">
      <props>
        <prop key="name">value</prop>
      </props>
    </property>    <property name="字段名map">             <map>                 <entry key="key" value="value"/>        //<entry key="key" value-ref="otherBeanName"/>        //<entry key-ref="otherBeanName" value-ref="otherBeanName"/>
      </map>
    </property>    <property name="数组">      <array>        <value>value1</value>      </array>    </property>
</bean>

 四、注解配置Bean

  1.@Component 配置Bean

    配置在类上,代表这个类会被SpringIOC扫描成一个Bean,注解中属性value表示为Bean的名字,如同XML中配置的id,不配置

    value的值时,默认是将类名的首字母小写。

    @Component   

    @Component("beanName")

  2.@ComponentScan  配置注解扫描器

    配置在类上,因为SpringIOC容器并不知道要扫描哪个类和包,需要定义一个SpringConfig类来告诉它,注解默认扫描该类所在包

    如果想扫描指定包,注解属性basePackages中,多个包,使用逗号隔开

    @ComponentScan

    @ComponentScan(basePackages={"包1","包2"})

  3.@Value   简单值注入

    配置在类的字段(属性)上,其中放入的是字符串,注入时会自动转换类型,同样可以使用EL表达式来注入资源属性文件中的值

    @Value("1")

    @Value("xxxx")

    @Value("${jdbc.database.driver}")

  4.@Autowired  自动装配属性

    配置在类的字段(属性)上、方法及构造函数的参数中完成自动装配的工作,可以通过 @Autowired的使用来消除 setter ,getter方法

    此注解是按照类型来注入的,当有多个bean同时实现一个接口时,可以使用@Primary和@Qualifier注解来消除歧义。

    @Autowired

  5.@Primary   优先注入

    配置在某个接口有多个实现类的某个实现类上,在其他Bean中使用@Autowired注入该接口类型的bean时,优先注入这个实现类的bean。

    和@Component一起使用,否则无效。

  6.@Qualifier  指定注入

    配置在类的字段(属性)上,和@Autowired一起使用,当@Autowired注入时,指定注入的bean,该注解的属性(value)指定Bean的name

    @Qualifier("beanName") 

  7.@Configration  配置菜单

    配置在类上,此注解通常为了通过 @Bean 注解生成 SpringIOC容器管理的类,本质和@Component一样。

    @Configration

  8.@Bean   配置第三方类的Bean

    配置在方法上,将方法返回的对象生成Bean,交给SpringIOC容器管理,要求此方法所在类也被配置成Bean,通常使用@Configration,

    注解的属性name,指定生成的Bean的name

    @Bean(name="beanName")

  9.@Resource(name="beanName")  jdk的自动装配

    相当于@Autowired,区别在于Resource先按beanName来找注入的Bean,如果没有指定名字的Bean,再按照类型来注入。

五、启动SpringIOC容器的方式    

  1.Spring采用xml配置时,根据xml文件来启动

1
ApplicationContext ac = new ClassPathXmlApplicationContext("spring-config.xml");<br data-filtered="filtered">ClassName cn = (ClassName)ac.getBean("beanName");

相关教程