Spring 的 @Primary 注解】的更多相关文章

简单的说,就是当Spring容器扫描到某个接口的多个 bean 时,如果某个bean上加了@Primary 注解 ,则这个bean会被优先选用,如下面的例子: @Component public class FooService { private FooRepository fooRepository; @Autowired public FooService(FooRepository fooRepository) { this.fooRepository = fooRepository;…
1.问题 当一个接口有2个不同实现时,使用@Autowired注解时会报org.springframework.beans.factory.NoUniqueBeanDefinitionException异常信息 2.方案1-@Qualifier 使用Qualifier注解,选择一个对象的名称,通常比较常用 3. 方案2-@Primary Primary可以理解为默认优先选择,同时不可以同时设置多个, 内部实质是设置BeanDefinition的primary属性 示例 @Component("m…
@autowired 可以自动帮你把Bean里面引用的对象的setter/getter方法省略,自动帮你set/get. 启动spring IoC时,容器自动装载了一个AutowiredAnnotationBeanPostProcessor后置处理器,当容器扫描到@Autowied.@Resource或@Inject时,就会在IoC容器自动查找需要的bean,并装配给该对象的属性 在使用@Autowired时,首先在容器中查询对应类型的bean 如果查询结果刚好为一个,就将该bean装配给@Au…
Spring中提供了@Primary和@Qualifier注解来解决一个接口多个实现的注入问题. @Primary注解 Spring中有提供一个@Primary注解,具体的作用是在一个接口有多个实现类的情况下,会默认选择其中一种实现,帮助Spring对象的正常注入. 比如说现在有一个接口UserService,它有两个实现类UserServiceImpl1和UserServiceImpl2,根据依赖倒置的原则,在Spring中注入的对象应该是接口,由接口去调用具体的实现. // 接口 publi…
弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件.本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,现在这一篇补上.下面开始贴代码. 文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下. web.xml配置: <?xml version="1.0" encoding="UTF-8"?> …
目录 1. Spring基于AspectJ的注解的AOP开发 1. 1 SpringAOP的注解入门 1.2 Spring的AOP的注解通知类型 1.2.1 @Before:前置通知 1.2.2 @AfterReturning:后置通知 1.2.3 环绕通知 1.2.4 异常抛出通知 1.2.5 最终通知' 1.3 Spring的AOP的注解的切入点的注解 2. Spring的JDBC的模板的使用 2.1 Spring的JDBC的模板 2.1.1 JDBC模板使用的入门 2.1.2 将连接池和模…
本文我们来梳理一下Spring的那些注解,如下图所示,大概从几方面列出了Spring的一些注解: 如果此图看不清楚也没事,请运行下面的代码输出所有的结果. Spring目前的趋势是使用注解结合Java代码而不是配置来定义行为.属性.功能.规则和扩展点,因此梳理注解也是梳理Spring功能点的很好的方式,全面的梳理可以补足我们知识点的漏洞. 查找所有注解 首先,我们来创建一个项目,使用SPRING INITIALIZR生成一个引入Spring各种组件的项目模板,然后引入如下工具包: <depend…
@Primary 注解 刚看到这个,还以为是持久层的注解呢,以为和@Id差不多,一查才知道,这两个风马牛不相及,反倒和@Qualifier以及@Resource有点像了,但是相比而言,后面两个更加的灵活. 可以看这两个博客[博客一][博客二] 我觉得第一篇博客讲的不太对,结合第二篇应该就能理解第一篇中的[而@Qualifier这个注解则指定某个bean有没有资格进行注入]这句话了. 当一个接口,有几种不同的实现类,如果一个以上的实现类使用了 bean 注解(也就是@Copmonent 或者 @S…
一 事务控制 @Service public class CityServiceImpl implements CityService { @Autowired private CityMapper cityMapper; @Override @Transactional(value = "primaryTxMan", readOnly = true) public List<City> findByState(String state) { return this.cit…
原文 :http://www.blogjava.net/ashutc/archive/2011/04/14/348270.html 另两 参考博客 : http://kingtai168.iteye.com/blog/244002 http://www.iteye.com/topic/244153 使用 @Repository.@Service.@Controller 和 @Component 将类标识为 Bean Spring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的…