当我这样配置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>
分享到:
相关推荐
本示例"spring-autowire-demo.zip"是基于Spring 5.3.6版本,通过多个示例展示了自动装配的不同方式:default、byName、byType和constructor,帮助我们更深入理解这个功能。 首先,让我们了解什么是自动装配。自动...
《Spring自动装配详解——基于IDEA 2020的小实例》 在Java开发领域,Spring框架以其强大的功能和灵活性,成为了企业级应用开发的首选。其中,Spring的自动装配特性(Autowired)是其核心特性之一,极大地简化了依赖...
default-lazy-init="false" default-autowire="byName"> <context:annotation-config/> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value=...
- 默认情况下,Spring并不会自动装配bean,需要在配置中明确指定,例如`default-autowire="byType"`。 - `default-autowire`属性在`<beans>`标签中设置,会影响没有单独设置`autowire`属性的`<bean>`标签,但不会...
可以在 beans 标签中设置 default-autowire 属性为 byName、byType 等,来设置所有 bean 都进行自动装配。例如: ```xml <beans default-autowire="byName"> <!-- 在这里定义 bean --> ``` 在上面的例子中,所有 ...
3.autowire=bytype 详细解析注入方式 例如:有如下两个类需要注入 第一个类: 1.package org.jia; 2. 3. public class Order { 4. private String orderNum; 5. @Suppres
storm-spring-autowire 使storm支持spring的注入功能 由于storm的生命周期如下 1.在提交了一个topology之后(是在nimbus所在的机器么?), 创建spout/bolt实例(spout/bolt在storm中统称为component)并进行序列化. 2.将...
<beans default-autowire="byName" default-lazy-init="false" default-dependency-check="none"> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name=...
* 在中不能够设置default-autowire="byName"的属性,否则后台会报org.springframework.beans.factory.BeanCreationException错误。 JAVA定时器是一种基于Quartz框架的任务调度器,用于在指定的时间执行特定的任务。...
使用`default-autowire="byName"`和`default-lazy-init="true"`可以让Spring自动装配Bean,并延迟初始化。 3. **Controller层设计**: - **Struts 2的使用**:在编写Controller层时,应遵循Struts 2的最佳实践,...
<bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <ref bean="runTime" /> </bean>
:electric_plug: 汽车线 用于Golang的基于反射的依赖项注入工具箱。 该自述文件处于进行中状态。 安装 整个项目基于go模块。 要获取最新版本,请使用go1.16 +并使用...go get github.com/go-autowire/autowire@v1.0.4
<bean id="exampleBean" class="com.example.ExampleBean" autowire="byType"/> ``` 这会让Spring自动寻找类型匹配的bean进行注入。 四、工厂方法 有时我们需要自定义bean的实例化过程,可以使用`factory-bean`和`...
- `<bean id="personServiceAutoInject" class="com.persia.PersonServiceAutoInject" autowire="byName">`: `autowire`属性可以设置为"byName"或"byType",让Spring自动根据bean的属性名称或类型寻找依赖。...
- **autowired**:使用`<bean autowire="byType|byName">`或`@Autowired`注解实现自动装配。 4. **作用域** - **singleton**:默认作用域,Spring容器中只有一个实例。 - **prototype**:每次请求都会创建一个新...
- D选项错误,配置了`default-autowire="byType"`仅对当前配置文件有效。 6. **事务管理**: - A、B、C选项提供了事务控制的声明方式,都是有效的。 - D选项不能起到效果,因为`SUPPORTS`表示如果当前没有事务,...
#学习springboot自动装配 ##一,手动装配 ### 1,模式注解装配 @Component注解,或者@Component注解的扩展,@ Controller,@ Service,存储库,@ Configruation等, ### 2....从Spring3.0,@ Configuration用于定义的...
多线程Autowire注入null的解决方案 在 Spring 项目中,多线程 Autowire 注入 null 的问题是一个常见的问题。当我们在多线程中使用 @Autowired 注解时,可能会出现 null 的情况。这是因为多线程是防注入的,容器中的...