111、【JavaEE】【Spring】Spring 注解开发(

2021-10-25  本文已影响0人  yscyber

1、概述

2、注解

Spring-23

3、@Configuration

import org.springframework.context.annotation.Configuration;

@Configuration
public class SpringConfig {
    
}

4、@Bean

import com.yscyber.spring.four.repo.OrderRepo;
import com.yscyber.spring.four.repo.impl.OrderRepoImpl;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SpringConfig {

    @Bean
    OrderRepo orderRepo() {
        return new OrderRepoImpl();
    }

}

此时,这个返回值就交由 Spring 容器管理,默认 id 为该方法名(因为没使用@Bean注解中的属性)。

import com.yscyber.spring.four.repo.OrderRepo;
import com.yscyber.spring.four.repo.impl.OrderRepoImpl;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SpringConfig {

    @Bean("orderRepo")
    OrderRepo orderRepo() {
        return new OrderRepoImpl();
    }

}
    @Test
    public void test1() {
        ApplicationContext applicationContext = new AnnotationConfigApplicationContext(SpringConfig.class);

        OrderRepo orderRepo = (OrderRepo) applicationContext.getBean("orderRepo");

        orderRepo.aMethod();
    }

5、@ComponentScan

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan(basePackages = {"······"})
public class SpringConfig {

}

6、@PropertySource

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

@Configuration
@PropertySource(value = {"classpath:jdbc.properties"})
public class SpringConfig {

}

7、@Import

import org.springframework.context.annotation.Configuration;

@Configuration
public class DataSourceConfig {

}
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

@Configuration
@Import({DataSourceConfig.class})
public class SpringConfig {

}

8、@ImportResource

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;

@Configuration
@ImportResource(locations = {"classpath:applicationContext.xml"})
public class SpringConfig {

}

9、配置类中的方法的参数可以进行依赖注入

Spring-24
上一篇 下一篇

猜你喜欢

热点阅读