Spring的新注解

Spring的新注解

>**Configuration**
> 作用:指定当前类是一个配置类
> 细节:当配置类作为AnnotationConfig ApplicationContext对象创建的参数时,该注解可以不写。
ComponentScan
 作用:用于通过注解指定spring在创建容器时要扫描的包
 属性:
  value:它和basePackages的作用是一样的,都是用于指定创建容器时要扫描的包。
  我们使用此注解就等同于在xml中配置了:
<context:component-scan base-package="com.itheima"></context:component-scan>
Bean
 作用:用于把当前方法的返回值作为bean对象存入spring的ioc容器中
 属性:
    name:用于指定bean的id。当不写时,默认值是当前方法的名称
 细节:
    当我们使用注解配置方法时,如果方法有参数,spring框架会去容器中查找有没有可用的bean对象。
   查找的方式和Autowired注解的作用是一样的
 Import
   作用:用于导入其他的配置类
   属性:
      value:用于指定其他配置类的字节码。
   当我们使用Import的注解之后,有Import注解的类就父配置类,而导入的都是子配置类
PropertySource
 作用:用于指定properties文件的位置
  属性:
     value:指定文件的名称和路径。
 *  关键字:classpath,表示类路径下
@Configuration
@ComponentScan("com.feilong")
@Import(JDBCConfig.class)
@PropertySource("classpath:jdbcConfig.properties")
public class SpringConfig {
/**
 *  主配置类
 */
}

/**
 * @author FeiLong
 * @version 1.8
 * @date 2020/9/24 11:42
 *   
 *   子配置类
 */
@SuppressWarnings("ALL")
public class JDBCConfig {

    @Value("${jdbc.driver}")
    private String driver;

    @Value("${jdbc.url}")
    private String url;

    @Value("${jdbc.username}")
    private String username;

    @Value("${jdbc.password}")
    private String password;

    @Bean(name = "runner")
    @Scope("prototype")
    public QueryRunner getQueryRunner(@Qualifier("dataSource1") DataSource datasource) {
        return new QueryRunner(datasource);
    }

    @Bean(name = "dataSource1")
    public DataSource getDatasource() throws PropertyVetoException {
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        dataSource.setDriverClass(driver);
        dataSource.setJdbcUrl(url);
        dataSource.setUser(username);
        dataSource.setPassword(password);
        return dataSource;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值