Bean的注册方式有三种:@Component、@Bean、@Import
@Component
Spring容器会扫描@Component配置的包路径,找到标记@Component注解的类加入到Spring容器。该方式需要类提供默认的构造方法,配置方式不是很灵活,@Component的继承类有以下这些:
@Configuration:配置类
@Controller :web控制器
@Repository :数据仓库
@Service:业务逻辑
@Component
public class Teacher
@Bean
该方式需要配合@Configuration注解的类来使用,Bean是通过方法创建的。Spring容器会扫描@Configuration注解的类,找到所有的@Bean注解的方法,将Bean加入Spring容器。该方式比较灵活,对象的构造方法是我们自己调用的,可以实现复杂的配置。
@Configuration
public class MyConfig {
@Bean
public Student student1(){
return new Student("Libing", 12);
}
@Bean
public Student student2(){
return new Student("wangming2", 10);
}
}
@Import
@Import注册Bean的方式最直接,把指定的类型注册到Spring容器里,成为一个java bean,一般放在程序的入口,它在程序启动时自动完成注册bean的过程。
@Import({ UserService.class })
public class MyApp