Spring IOC基于javaconfig配置使用

一、简介

在 Spring4 的版本, JavaConfig 已正式成为 Spring4 的核心功能 。

二、环境准备

  1. 创建maven项目
  2. 添加依赖
		<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.6.RELEASE</version>
        </dependency>

三、实例解析

1.@Configuration

添加javaconfig,手动创建bean,再将创建好的Bean交给spring容器管理

@Configuration//相当于xml文件的bean标签
@ComponentScan(basePackages = "com.tedu.liyu")//<context:component-scan base-package="" >
@PropertySource("classpath:db.properties")//引入依赖文件
public class IocJavaConfig {
    @Value("${mysql.username}")
    private String dataSourceName;
    @Value("${mysql.password}")
    private String dataSourcePassword;
    @Value("${mysql.url}")
    private String dataSourceUrl;
    @Value("${mysql.driverClassName}")
    private String dataSourceDriverClassName;


    @Bean
    public DruidDataSource dataSource(){
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setName(dataSourceName);
        dataSource.setPassword(dataSourcePassword);
        dataSource.setUrl(dataSourceUrl);
        dataSource.setDriverClassName(dataSourceDriverClassName);
        return dataSource;
    }

    @Bean(initMethod = "init",destroyMethod = "destroy")
    public Person person(){
        Person person = new Person();
        person.setPersonName(dataSourceName);
        return person;
    }


}

如上代码:
@Bean(initMethod = “init”,destroyMethod = “destroy”)其中initMethod为初始化时调用方法,destroyMethod 为IOC容器关闭后加载
init、destroy方法需要在修饰的类中添加

2.Bean的作用域

singleton:单例,只会在IOC容器中创建一次
prototype:多例,每次获取IOC容器都会new一个bean
在需要的类上添加如下注解:

@Scope("prototype")

3.懒加载

//true:在使用时,才会加载
@Lazy(value = true)
上一篇:11-使用JavaConfig实现配置


下一篇:Spring的Xml和JavaConfig 扩展你选哪一个?