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

spring

2016-04-28 23:01 477 查看
一.JDBCTemplate

导入的jar
[align=left]//创建连接池[/align]
 DriverManagerDataSource dmd=
new
DriverManagerDataSource();

[align=left]//往连接池里面设置4大参数[/align]
     dmd.setDriverClassName(
"com.mysql.jdbc.Driver");
[align=left]     dmd.setUrl("jdbc:mysql:///myspring03");[/align]
     dmd.setUsername(
"root");
     dmd.setPassword(
"root");
[align=left]     //创建jdbcTemplate模板[/align]
     JdbcTemplate template =
new
JdbcTemplate();
[align=left]     //将连接池设置到模板中[/align]

[align=left]     template.setDataSource(dmd);[/align]
[align=left]=====================[/align]
[align=left]
[/align]

[align=left]<bean id="ds3" class="com.mchange.v2.c3p0.ComboPooledDataSource">[/align]
[align=left]     <property name="driverClass" value="com.mysql.jdbc.Driver"/>[/align]
[align=left]     <property name="jdbcUrl" value="jdbc:mysql:///myspring03"/>[/align]
[align=left]     <property name="user" value="root"/>[/align]
[align=left]     <property name="password" value="root"></property>[/align]
[align=left]  </bean>[/align]
  <bean id="
jdbctemplate
" class="org.springframework.jdbc.core.JdbcTemplate">
     <property name="dataSource"
ref="ds3"/>

[align=left]  </bean> -->[/align]
[align=left]
[/align]
[align=left]引入外部文件:[/align]

[align=left] <!--外部属性文件的导入 ====================================================== -->[/align]
[align=left] [/align]
   
<!--在xml的文件中引入db.properties文件-->
   
<!-- <context:property-placeholder location="classpath:db.properties"/> -->
   
<!-- 在配置文件中使用配置文件中的信息 -->
  
<!--  <bean id="ds4" class="com.mchange.v2.c3p0.ComboPooledDataSource">
[align=left]       <property name="driverClass" value="${jdbc.driver}"/>[/align]
[align=left]       <property name="jdbcUrl" value="${jdbc.url}"/>[/align]
[align=left]       <property name="user" value="${jdbc.user}"/>[/align]
[align=left]       <property name="password" value="${jdbc.password}"></property>[/align]
[align=left]    </bean>[/align]
   <bean id="
jdbctemplate" class="org.springframework.jdbc.core.JdbcTemplate">
     <property name="dataSource"
ref="ds4"/>
[align=left]  </bean> -->[/align]

 
<!--外部属性文件的导入 ====================================================== end-->
[align=left]==============[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]==================[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]1.1.5Spring的事务管理:[/align]
[align=left][/align]
声明事务管理在xml中的配置:(基于AOPxml的配置)
[align=left] <!--在xml的文件中引入db.properties文件-->[/align]
 
<context:property-placeholder
location="classpath:db.properties"
/>
   
<!-- 在配置文件中使用配置文件中的信息 -->
 
<bean
id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
>
      
<property
name="driverClass"
value="${jdbc.driver}"
/>
      
<property
name="jdbcUrl"
value=
"${jdbc.url}"/>
      
<property
name="user"
value=
"${jdbc.user}"/>
      
<property
name="password"
value="${jdbc.password}"
></property>
   
</bean
>
 
<bean
id="accountService"
class="cn.itcast.demo3.AccountServiceImpl"
>
    
<property
name="accountDao"
ref="accountDao"
></property>
 
</bean
>
[align=left] [/align]
 
<bean
id="accountDao"
class="cn.itcast.demo3.AccountDaoImpl"
>
   
<!-- 直接注入我们的数据源 -->
   
<property
name="dataSource"
ref="dataSource"
></property>
 
</bean
>
[align=left] [/align]
 
<!--注册事务管理器  -->
 
<bean
id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
>
     
<!-- 事务管理器得需要引入我们的连接池即数据源,因为得获得连接,开启事务 -->
     
<property
name="dataSource"
ref="dataSource"
></property>
 
</bean
>
 
<!--基于 AOP的声明事务管理 -->
 
<!--定义一个增强,事务的通知  -->
 
<tx:advice
id="txAdvice"
transaction-manager="transactionManager"
>
   
<!--事务里面的属性  -->
    
<tx:attributes
>
         
<tx:method
name=
"transf" />
    
</tx:attributes
>
 
</tx:advice
>
 
<!--定义AOP的配置(通知和切点的组合)  -->
 
<aop:config
>
    
<aop:pointcut
expression="execution(* cn.itcast.demo3.AccountService+.*(..))"
id=
"mypointcut"/>
    
<aop:advisor
advice-ref="txAdvice"
pointcut-ref="mypointcut"
/>
 
</aop:config
>
[align=left] [/align]
[align=left]步骤:[/align]
[align=left] 1>导包 aop tx[/align]
[align=left] 2>在xml中配置[/align]
     配置数据源
     声明目标类,持久层的类。并且在持久层中注入数据源,目的是Dao类继承JdbcDaoSupport。此类帮我们拿到模板,直接注入数据源即可
     注册事务管理器。事务管理器中注入数据源!目的是获得连接,开启事务
     定义增强。事务管理的  : <tx:Advicer id="" transcation-manager="事务管理器">  事务里面的属性
     定义Aop的设置
[align=left]      [/align]
[align=left] <!--声明目标类和dao 类。在dao类中注入数据源  -->[/align]
 
<!--注册事务管理器  -->
 
<!--定义增强  -->
 
<!--声明一个切面 通知和切点的组合  -->

基于注解的事务管理:

第一步:事务管理器:

<!-- 事务管理器 -->

<bean id="transac
dcce
tionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

<property name="dataSource" ref="dataSource"/>

</bean>

第二步:注解事务:

<!-- 开启注解的事务管理 -->

<tx:annotation-driven transaction-manager="transactionManager"/>

 第三步:在Service上使用注解

@Transactional

* 注解中有属性值:

* isolation

* propagation

* readOnly

=====================
 
<!--在xml的文件中引入db.properties文件-->
 
<context:property-placeholder
location="classpath:db.properties"
/>
   
<!-- 在配置文件中使用配置文件中的信息 -->
 
<bean
id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
>
      
<property
name="driverClass"
value="${jdbc.driver}"
/>
      
<property
name="jdbcUrl"
value=
"${jdbc.url}"/>
      
<property
name="user"
value=
"${jdbc.user}"/>
      
<property
name="password"
value="${jdbc.password}"
></property>
   
</bean
>
 
<bean
id="accountService"
class="cn.itcast.demo4.AccountServiceImpl"
>
    
<property
name="accountDao"
ref="accountDao"
></property>
 
</bean
>
[align=left] [/align]
 
<bean
id="accountDao"
class="cn.itcast.demo4.AccountDaoImpl"
>
   
<!-- 直接注入我们的数据源 -->
   
<property
name="dataSource"
ref="dataSource"
></property>
 
</bean
>
[align=left] [/align]
 
<!--注册事务管理器  -->
 
<bean
id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
>
     
<!-- 事务管理器得需要引入我们的连接池即数据源,因为得获得连接,开启事务 -->
     
<property
name="dataSource"
ref="dataSource"
></property>
 
</bean
>
 
<!--基于注解的方式来完成事务的管理  -->
 
<tx:annotation-driven
transaction-manager="transactionManager"
/> 
[align=left]
[/align]
[align=left]在目标类上加上[/align]
[align=left]
[/align]

[align=left]@Transactional[/align]

public
class
AccountServiceImpl
implements
AccountService {
[align=left]
[/align]

[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: