注解@[email protected]

在Controller中需要注入service那么我的这个server有两个实现类如何区分开这两个impl呢

根据注入资源的注解不同实现的方式有一点小小的区别

在Controller中使用 @Autowired注入时

Qualifier的意思是合格者,通过这个标示,表明了哪个实现类才是我们所需要的,添加@Qualifier注解,需要注意的是@Qualifier的参数名称为我们之前定义@Service注解的名称之一。

##使用@Resource注入时

使用@resource注入时比较简单了注解自带了“name”的val就是@Service注解的名称之一

@Primary

在spring 中使用注解,常使用@Autowired, 默认是根据类型Type来自动注入的。但有些特殊情况,对同一个接口,可能会有几种不同的实现类,而默认只会采取其中一种的情况下 @Primary 的作用就出来了。

@Primary
@Component
public class OperaSinger implements Singer{

    @Override
    public String sing(String lyrics) {
        return "I am singing in Bocelli voice: "+lyrics;
    }
}

用@Primary 告诉spring 在犹豫的时候优先选择哪一个具体的实现。

原文地址:https://www.cnblogs.com/h-c-g/p/11043716.html

时间: 2024-11-04 03:02:44

注解@[email protected]的相关文章

(转)spring boot注解 [email protected] 异步调用

原文:http://www.cnblogs.com/azhqiang/p/5609615.html EnableAsync注解的意思是可以异步执行,就是开启多线程的意思.可以标注在方法.类上. 1 @Component 2 public class Task { 3 4 @Async 5 public void doTaskOne() throws Exception { 6 // 同上内容,省略 7 } 8 9 @Async 10 public void doTaskTwo() throws

[转]Spring注解[email protected]注解、@Bean注解以及配置自动扫描、bean作用域

1.@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的<beans>,作用为:配置spring容器(应用上下文) package com.test.spring.support.configuration; @Configuration public class TestConfiguration { public TestConfiguration(){ System.out.println("spring容器启动初始化...");

Springboot 相关注解 [email&#160;protected]

@WebServlet注解: @WebServlet注解一般在类上声明使用.一般情况下此类要继承 Servlet案例如下: @WebServlet(urlPatterns = "/druid/*", initParams={ @WebInitParam(name="allow",value="127.0.0.1"),// IP白名单 (没有配置或者为空,则允许所有访问) @WebInitParam(name="deny",va

元注解[email&#160;protected]和@Retention

元注解 作用:用来修饰注解一 @Target ----- 作用对象 二 @Retention ----作用时期作用范围@Reatention:枚举类型 ElementType1: Source:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃:源码: Annotations are to be discarded by the compiler.2: Class:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期源码: Annotatio

页面输出格式常用注解[email&#160;protected],@JsonFormat,@JsonFormat

1.注解名称:@JsonIgnore 作用:在实体类向前台返回数据时用来忽略不想传递给前台的属性或接口. Eg:User实体中会有字段password字段, 当返回用户信息给前台的时候,当然是不希望将password值也一并返回.所以,这个时候可以在password属性上加上注解JsonIgnore或者, 可以在User类上加上注解@JsonIgnoreProperties(value = "{password}") 2.注解名称:@JsonFormat 前台使用固定时间格式时可以在属

[email&#160;protected]注解与自动装配

1   配置文件的方法 我们编写spring 框架的代码时候.一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量.并且要配套写上 get 和 set方法. Boss 拥有 Office 和 Car 类型的两个属性:       清单 3. Boss.java [java] view plaincopy package com.baobaotao; public class Boss { private Car car; private Office office

Spring高级话题[email&#160;protected]***注解的工作原理

出自:http://blog.csdn.net/qq_26525215 @EnableAspectJAutoProxy @EnableAspectJAutoProxy注解 激活Aspect自动代理 <aop:aspectj-autoproxy/> 开启对AspectJ自动代理的支持. 在用到AOP的自动代理的时候用,如果你理解了Java的动态代理,很容易的就会熟悉AOP的自动代理的. @EnableAsync @EnableAsync注解开启异步方法的支持. 这个相信大家都比较熟悉的.对于异步

springboot情操陶冶[email&#160;protected]注解解析

承接前文springboot情操陶冶[email protected]注解解析,本文将在前文的基础上对@SpringBootApplication注解作下简单的分析 @SpringBootApplication 该注解是springboot最集中的一个注解,也是应用最广泛的注解.官方也多用此注解以启动spring服务,我们看下其中的源码 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inher

springboot情操陶冶[email&#160;protected]和@AutoConfigureAfter注解解析

承接前文springboot情操陶冶[email protected]注解解析,本文将在前文的基础上阐述@AutoConfigureAfter和@Conditional注解的作用与解析 [email protected] 根据单词来理解,其就是条件的意思.在分析之前我们可以看下其内部源码 @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @i