@configuration @Component @Repository @Controller

@configuration注解标注在类上,相当于把该类作为Spring的xml配置文件中的<beans>,使用注解来代替Spring中的bean配置

下面是@configuration定义:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Configuration {

   /**
    * Explicitly specify the name of the Spring bean definition associated
    * with this Configuration class.  If left unspecified (the common case),
    * a bean name will be automatically generated.
    * <p>The custom name applies only if the Configuration class is picked up via
    * component scanning or supplied directly to a {@link AnnotationConfigApplicationContext}.
    * If the Configuration class is registered as a traditional XML bean definition,
    * the name/id of the bean element will take precedence.
    * @return the specified bean name, if any
    * @see org.springframework.beans.factory.support.DefaultBeanNameGenerator
    */
   String value() default "";

}

@Configuration可理解为用spring的时候xml里面的<beans>标签

@Bean可理解为用spring的时候xml里面的<bean>标签

从上面@configuration定义看,@configuration也是@Component的扩展,

@Component :定义Spring管理Bean

@Repository 是@Component扩展,通过注解在Dao层的类

@Service @Component扩展,通常注解在Service层实现的类。

@Controller:是@Component扩展,通常注解在表现层web层。

这些注解的的作用:

为了避免使用大量Xml配置的方式来注入Bean,Spring有自动扫描注入的方式,上面注解的类会自动被纳入Spring容器管理中,

通过<context:component-scan base-package=”com.mmnc”>    扫描组件





阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011393781/article/details/79964143
个人分类: 注解
上一篇@JSONField注解
下一篇SpringBoot
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭