spring配置

1.配置自动扫描的包

<context:component-scan base-package="包名"></context:component-scan>

2.利用外部文件

<context:property-placeholder location="classpath:properties文件名"/>

3.配置jdbc

<bean id="dataSource"
    class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="user" value="${jdbc.user}"></property>
        <property name="password" value="${jdbc.password}"></property>
        <property name="driverClass" value="${jdbc.driverClass}"></property>
        <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property> 
</bean>

4.jdbctemplate

<bean id="jdbcTemplate"
    class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"></property> 
</bean>

5.事务管理两种方式 ,一种利用@ 注解方式,一种是xml文件方式

 5.1基于注解方式实现

<!--  
1. 配置事务管理器
2. 配置支持基于直接的事务配置
3. 在事务方法方法上, 添加 @Transactional 注解
-->

<!-- 配置事务管理器 -->
<bean id="transactionManager"
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property> 
</bean>

<!-- 配置启用基于直接的事务 -->
<tx:annotation-driven transaction-manager="transactionManager"/

5.2基于xml配置文件实现

<bean id="bookShopDao"
        class="com.atguigu.spring.tx.xml.BookShopDaoImpl">
            <property name="jdbcTemplate" ref="jdbcTemplate"></property> 
</bean>

<bean id="bookShopService"
    class="com.atguigu.spring.tx.xml.BookShopServiceImpl">
        <property name="bookShopDao" ref="bookShopDao"></property> 
</bean>

<bean id="cashier"
    class="com.atguigu.spring.tx.xml.CashierImpl">
        <property name="bookShopService" ref="bookShopService"></property> 
</bean>

<!-- 1.配置事务管理器 -->
<bean id="transactionManager"
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property> 
</bean>

<!-- 2.配置事务属性 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <!-- 还可以配置事务的其他属性. -->
            <tx:method name="purchase" propagation="REQUIRES_NEW" />
            <tx:method name="*" />
        </tx:attributes>
</tx:advice>

<!-- 3.配置事务切点表达式. 并把事务的切点表达式和事务的属性关联起来. -->
<aop:config>
        <!-- 3.1 声明事务的切点表达式. 即事务作用在哪些类的哪些方法上. -->
        <aop:pointcut expression="execution(* com.atguigu.spring.tx.xml.service.*.*(..))" 
        id="txPointcut"/>
       <!-- 3.2 把事务的属性和事务的切点表达式关联起来 --> 
        <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/> 
</aop:config>

6.注解

@Repository、@Service 和 @Controller

三个分别是 持久化层,逻辑层,控制层

7.aop也有两种配置形式,注解的好处就是代码少,配置方便,xml配置的优势是不污染代码


8.今天碰见了两个异常,一个是NoBean异常,开始没找到,后来发现是应该用dao接口,而不是实现类,但这不是解决问题的途径,还有一个是ConversionNotSupportExcept异常  ,这个还不明白是什么意思

9.Caused by: java.lang.IllegalStateException: Cannot convert value of type  就是上面那个异常  ,我解决了, 错误的原因在于,变量名是重复了,然后改了个变量名就好了‘

private BookShopDao bsd;

<bean id="bsd" class="com.atguigu.spring.testtx1.BookShopDaoImpl">
    <property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>

<bean id="bookShopService" class="com.atguigu.spring.testtx1.BookShopServiceImpl">
    <property name="bsd" ref="bsd"></property>
</bean>

错误的原因就在于这里,改成bsd,立马运行,记住,变量名不可一样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值