您的位置:首页 > 编程语言 > Java开发

spring配置

2016-02-21 11:26 651 查看
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,立马运行,记住,变量名不可一样
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring