spring新注解说明

spring新注解说明

@Configuration、@ComponentScan在纯注解案例中已经说明,就不再阐述;这里主要讲一下@PropertySource、@Import、@Bean

1、@PropertySource

  • 作用:用于加载.properties文件中的配置。例如我们配置数据源时,可以把连接数据库的信息写到properties配置文件中,就可以使用此注解指定properties配置文件的位置。
  • 属性
    • value[]:用于指定properties文件位置。如果是在类路径下,需要写上classpath:

示例代码

@Configuration
@PropertySource("classpath:info.properties")
public class Configuration_B {

}

2、@Import

  • 作用:用于导入其他配置类,在引入其他配置类时,可以不用再写@Configuration注解。当然,写上也没问题。
  • 属性
    • value[]:用于指定其他配置类的字节码。

示例代码

@Configuration
@ComponentScan(basePackages = "cn.itcast.spring")
@Import({ Configuration_B.class})
public class Configuration_A {
}

@Configuration
@PropertySource("classpath:info.properties")
public class Configuration_B {

}

3、@Bean

  • 作用:该注解只能写在方法上,表明使用此方法创建一个对象,并且放入spring容器。它就相当于我们之前在xml配置中介绍的factory-bean和factory-method。
  • 属性
    • name:给当前@Bean注解方法创建的对象指定一个名称(即bean的id)

示例代码

@Bean(name = "datasource2")
public DataSource createDS() throws Exception {
    ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();
    comboPooledDataSource.setUser("root");
    comboPooledDataSource.setPassword("1234");
    comboPooledDataSource.setDriverClass("com.mysql.jdbc.Driver");
    comboPooledDataSource.setJdbcUrl("jdbc:mysql:///spring_ioc");
    return comboPooledDataSource;
}
记得快乐
原文地址:https://www.cnblogs.com/Y-wee/p/13819521.html