`
nkliuliu
  • 浏览: 210472 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

default-autowire="byType"冲突解决

阅读更多

当我这样配置p6spy时,

<bean id="dataSourceImpl" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
		<property name="url"
			value="jdbc:oracle:thin:@顶顶顶" />
		<property name="username" value="顶顶顶" />
		<property name="password" value="顶顶顶" />
	</bean>
	<!-- 用p6spy 在console显示变量绑定后的真实sql 与ResultSet,方便开发 -->
	<bean id="dataSource" class="com.p6spy.engine.spy.P6DataSource">
		<constructor-arg index="0" ref="dataSourceImpl" />
	</bean>

 系统报如下错误,原因是因为default-autowire="byType"。冲突了,把系统改成default-autowire="byName"要改好多地方,显然不现实。

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [javax.sql.DataSource] is defined: expected single matching bean but found 2: [dataSourceImpl, dataSource]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:796)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:703)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1152)

 

解决方案:

	<bean id="dataSource" class="com.p6spy.engine.spy.P6DataSource">
		<constructor-arg index="0">
			<bean class="org.springframework.jdbc.datasource.DriverManagerDataSource">
				<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
				<property name="url"
					value="jdbc:oracle:thin:@顶顶顶" />
				<property name="username" value="顶顶顶" />
				<property name="password" value="顶顶顶" />
			</bean>
		</constructor-arg>
	</bean>
0
0
分享到:
评论

相关推荐

    spring-autowire-demo.zip

    本示例"spring-autowire-demo.zip"是基于Spring 5.3.6版本,通过多个示例展示了自动装配的不同方式:default、byName、byType和constructor,帮助我们更深入理解这个功能。 首先,让我们了解什么是自动装配。自动...

    spring-autowire.zip

    《Spring自动装配详解——基于IDEA 2020的小实例》 在Java开发领域,Spring框架以其强大的功能和灵活性,成为了企业级应用开发的首选。其中,Spring的自动装配特性(Autowired)是其核心特性之一,极大地简化了依赖...

    维生药业小项目 SSH简单学习项目

    default-lazy-init="false" default-autowire="byName"&gt; &lt;context:annotation-config/&gt; &lt;bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"&gt; &lt;property name="driverClass" value=...

    Spring考试.doc

    - 默认情况下,Spring并不会自动装配bean,需要在配置中明确指定,例如`default-autowire="byType"`。 - `default-autowire`属性在`&lt;beans&gt;`标签中设置,会影响没有单独设置`autowire`属性的`&lt;bean&gt;`标签,但不会...

    Spring中自动装配的4种方式

    可以在 beans 标签中设置 default-autowire 属性为 byName、byType 等,来设置所有 bean 都进行自动装配。例如: ```xml &lt;beans default-autowire="byName"&gt; &lt;!-- 在这里定义 bean --&gt; ``` 在上面的例子中,所有 ...

    Spring的三种注入方式

    3.autowire=bytype    详细解析注入方式  例如:有如下两个类需要注入  第一个类: 1.package org.jia;  2.  3. public class Order {  4. private String orderNum;  5. @Suppres

    storm-spring-autowire:使storm支持spring的注入功能

    storm-spring-autowire 使storm支持spring的注入功能 由于storm的生命周期如下 1.在提交了一个topology之后(是在nimbus所在的机器么?), 创建spout/bolt实例(spout/bolt在storm中统称为component)并进行序列化. 2.将...

    SSH学习之spring

    &lt;beans default-autowire="byName" default-lazy-init="false" default-dependency-check="none"&gt; &lt;bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"&gt; &lt;property name=...

    JAVA定时器JAVA定时器.pdf

    * 在中不能够设置default-autowire="byName"的属性,否则后台会报org.springframework.beans.factory.BeanCreationException错误。 JAVA定时器是一种基于Quartz框架的任务调度器,用于在指定的时间执行特定的任务。...

    CRUD代码编写.pdf

    使用`default-autowire="byName"`和`default-lazy-init="true"`可以让Spring自动装配Bean,并延迟初始化。 3. **Controller层设计**: - **Struts 2的使用**:在编写Controller层时,应遵循Struts 2的最佳实践,...

    Spring2.0+quartz1.8定时执行任务内含Cron表达式生成器

    &lt;bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"&gt; &lt;property name="triggers"&gt; &lt;ref bean="runTime" /&gt; &lt;/bean&gt;

    autowire::electric_plug:Go依赖注入框架

    :electric_plug: 汽车线 用于Golang的基于反射的依赖项注入工具箱。 该自述文件处于进行中状态。 安装 整个项目基于go模块。 要获取最新版本,请使用go1.16 +并使用...go get github.com/go-autowire/autowire@v1.0.4

    Spring 配XML的十二种技巧

    &lt;bean id="exampleBean" class="com.example.ExampleBean" autowire="byType"/&gt; ``` 这会让Spring自动寻找类型匹配的bean进行注入。 四、工厂方法 有时我们需要自定义bean的实例化过程,可以使用`factory-bean`和`...

    spring配置文档[文].pdf

    - `&lt;bean id="personServiceAutoInject" class="com.persia.PersonServiceAutoInject" autowire="byName"&gt;`: `autowire`属性可以设置为"byName"或"byType",让Spring自动根据bean的属性名称或类型寻找依赖。...

    Spring 配置文件 和详细笔记

    - **autowired**:使用`&lt;bean autowire="byType|byName"&gt;`或`@Autowired`注解实现自动装配。 4. **作用域** - **singleton**:默认作用域,Spring容器中只有一个实例。 - **prototype**:每次请求都会创建一个新...

    Spring笔试试卷.doc

    - D选项错误,配置了`default-autowire="byType"`仅对当前配置文件有效。 6. **事务管理**: - A、B、C选项提供了事务控制的声明方式,都是有效的。 - D选项不能起到效果,因为`SUPPORTS`表示如果当前没有事务,...

    springboot-autowire:学习springboot自动装配原理

    #学习springboot自动装配 ##一,手动装配 ### 1,模式注解装配 @Component注解,或者@Component注解的扩展,@ Controller,@ Service,存储库,@ Configruation等, ### 2....从Spring3.0,@ Configuration用于定义的...

    多线程Autowire注入null的解决方案.docx

    多线程Autowire注入null的解决方案 在 Spring 项目中,多线程 Autowire 注入 null 的问题是一个常见的问题。当我们在多线程中使用 @Autowired 注解时,可能会出现 null 的情况。这是因为多线程是防注入的,容器中的...

Global site tag (gtag.js) - Google Analytics