spring的简单配置使用
来源:互联网 发布:金石计价软件公司地址 编辑:程序博客网 时间:2024/06/05 20:12
spring配置
从毕业到现在已经四年多了,接触spring也四年多了,看了一些有关spring的书,但一直都是看过就忘,很少做笔记记录,很多时候都是从以往的项目中copy配置文件改改就使用了,现将常用的配置整理一下,如有不对的地方望大家批评指正。
自动扫描
在使用spring的注解时,需要开启包扫描,否则无法将类加载到spring容器中。
<!--自动扫描--><context:annotation-config/><!--指定扫描的包名--><context:component-scan base-package="com.jihb.tally.sdk.service,com.jihb.tally.sdk.dao,com.jihb.tally.sdk.impl"/>
properties文件的配置使用
properties文件的两种配置方式
1、使用org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
<context:property-placeholder location="classpath:config.properties"/>
或
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:config.properties</value> </list> </property> <property name="fileEncoding" value="utf-8"/> </bean>
2、使用org.springframework.beans.factory.config.PropertiesFactoryBean
<bean id="config" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <property name="locations"> <list> <value>classpath:config.properties</value> </list> </property> <property name="fileEncoding" value="utf-8"/></bean>
这两种方式都是可以指定多个properties文件的,第一种方式的第一种写法是一种简化写法,有多个文件时,只需要在多个文件之间以逗号分隔即可,第一种方式的第二种写法和第二种配置方式则在list配置下添加即可。当然,PropertyPlaceholderConfigurer和PropertiesFactoryBean在使用的时候也是有所区别的。如在通过spring的注解来自动注入值时的写法就有所不同了。
第一种方式的写法如下:
@Value("${sys.sysName}")private String sysName;
第二种方式的写法如下:
@Value("#{config['sys.sysName']")private String sysName;
使用jdbc配置
spring中对jdbc和其他orm框架都进行了一定的封装,已使用户更方便的使用它们,在这里只说说spring-jdb的配置。
在配置使用jdbc时,一般需要配置数据源和事物管理,如果事物是要通过aop来限制的话,还需要配置aop切面和advice增强。
配置数据源
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="${jdbc.driverClassName}"/> <property name="jdbcUrl" value="${jdbc.url}"/> <property name="user" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> <property name="maxPoolSize" value="${jdbc.maxPoolSize}"/> <property name="minPoolSize" value="${jdbc.minPoolSize}"/> <property name="initialPoolSize" value="${jdbc.initialPoolSize}"/> <property name="maxIdleTime" value="${jdbc.maxIdleTime}"/> <property name="preferredTestQuery" value="select 1"/></bean>
配置事物
<!--事物控制--> <tx:annotation-driven transaction-manager="transactionManager"/> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean>
transaction-manager=”transactionManager”这个其实是可以不用配的,因为默认就会引用名为transactionManager的事物管理。可以简写为:
<tx:annotation-driven/>
配置aop
<aop:config> <!--切面--> <aop:pointcut id="serviceMethod" expression="execution(* *.*.*Impl.*(..))"/> <!--引用事物增强--> <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethod"/> </aop:config> <!--事物增强--> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="get*" read-only="true"/> <tx:method name="find*" read-only="true"/> <tx:method name="query*" read-only="true"/> <tx:method name="add*"/> <tx:method name="update*"/> </tx:attributes></tx:advice>
配置jdbc工具类
<bean id="jdbcHelper" class="com.jihb.tally.sdk.spjdbc.impl.MySqlJdbcHelper"> <property name="dataSource" ref="dataSource"></property></bean>
这样在spring中就可以使用jdbc进行数据访问了,MySqlJdbcHelper是我自己封装的数据访问类,最终都是使用spring封装的JdbcTemplate来进行数据访问。MySqlJdbcHelper中定义两个变量JdbcTemplate jdbcTemplate和DataSource dataSource,代码如下:
JdbcTemplate jdbcTemplate;DataSource dataSource;public void setDataSource(DataSource dataSource) { this.jdbcTemplate = new JdbcTemplate(dataSource); this.dataSource = dataSource;}
时间有限,暂且写到这里,语言能力比较差,望读者大大门见谅!!
- spring的简单配置使用
- Spring中使用MyBatis的简单配置
- Spring 简单的配置
- Spring 的简单配置
- Spring:使用JdbcTemplate的简单实例-基于XML文件配置
- Spring中TransactionTemplate 简单灵活的事务配置及使用
- 简单介绍Log4J的使用和Spring 配置log4j
- Spring 配置log4j和简单介绍Log4J的使用
- spring quartz定时器的简单配置和使用
- Spring quartz定时器的配置和简单使用
- Spring 配置log4j和简单介绍Log4J的使用
- Spring 配置log4j和简单介绍Log4J的使用
- Spring中TransactionTemplate 简单灵活的事务配置及使用
- Spring 配置log4j和简单介绍Log4J的使用
- Spring 配置log4j和简单介绍Log4J的使用
- Spring在mac下的配置以及简单使用
- spring quartz定时器的简单配置使用以及常见问题解答
- Spring的简单使用
- 【笔记】《WebGL编程指南》学习-第2章WebGL入门(3-画一个点-版本1))
- Android RuntimePermissions运行时权限:单个运行时权限申请简例
- 21. Merge Two Sorted Lists。
- 整理Python find()、Python index()和Python List index()
- HDU 4614 Vases and Flowers
- spring的简单配置使用
- 字段类型与合理的选择字段类型
- 在Linux环境下面搭建 UNIX 环境高级编程(第三版) 的代码编译环境
- 【go 指针数组】go语言中的指针数组
- 《C++ Primer》读书笔记第九章-3-额外的string操作 And 容器适配器
- 进制数转换
- Tomcat启动时一直停留在一个应用的发布的解决办法
- 豆豆川麻
- bzoj2342 [Shoi2011]双倍回文