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,立马运行,记住,变量名不可一样
<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,立马运行,记住,变量名不可一样
相关文章推荐
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- 模拟Spring的简单实现
- spring+html5实现安全传输随机数字密码键盘
- Spring中属性注入详解
- SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
- struts2 spring整合fieldError问题
- spring的jdbctemplate的crud的基类dao
- 读取spring配置文件的方法(spring读取资源文件)
- Spring Bean基本管理实例详解
- java实现简单美女拼图游戏
- 详解Java的Spring框架中的事务管理方式
- 解析Java的Spring框架的BeanPostProcessor发布处理器
- Java开发框架spring实现自定义缓存标签
- java基本教程之线程休眠 java多线程教程
- JSP开发中在spring mvc项目中实现登录账号单浏览器登录
- spring boot实战之内嵌容器tomcat配置