Bean的定义及作用域的注解实现

Spring 3.0开始,Spring JavaConfig项目提供了很多特性,包括:

  • 配置型的注解:使用Java而不是xml定义Bean,比如:@Configuration,,@Bean@Import@DependsOn
  • @Component:一个通用注解,可用于任何Bean。
  • @Repository@Service,@Controller更有针对性的注解。
    • @Repository:通常用于注解DAO类,即持久层;
    • @Service:通常用于注解Service类,即服务层;
    • @Controller:通常用于注解Controller类,即控制层;
    • @Scope: 用于指定Bean的作用域。

@Required

该注解适用于Bean属性的setter方法,仅仅表示受影响的Bean属性必须在配置时进行填充,通过在bean定义或者通过自动装配一个明确的属性值。

@Autowired

该注解可以放在传统的setter方法上,也可以用于构造器或者成员变量上。

image.png

注意

  1. 默认情况下,如果因找不到合适的Bean将会导致autowiring失败抛出异常,可以通过下面的方式避免。
public class simpleMovieLister{
  private MovieFinder movieFinder;

  @Autowired(required=false)
  public void setMovieFinder(MovieFinder movieFinder){
    this.movieFinder=movieFinder;
  }
 }
  • 每个类只能有一个构造器被标记为required=true;
  • @Autowired的必要属性,建议使用@Required注解。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容