1、在SRC目录下创建一个db-config.properties文件来存放我们的数据源配置信息:
db.url= jdbc:mysql:///springmvcdb?useUnicode=true&characterEncoding=utf8
db.username=root
db.password=root
db.dirverClass= com.mysql.jdbc.Driver
2、配置applicationContext.xml文件:
<?xml version="1.0"encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<!-- 定义个缺省的控制适配器 -->
<bean
class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!-- 获取配置文件 -->
<bean id="config"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:db-config.properties</value>
</list>
</property>
</bean>
<!-- 获取数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>${db.dirverClass}</value>
</property>
<property name="url">
<value>${db.url}</value>
</property>
<property name="username">
<value>${db.username}</value>
</property>
<property name="password">
<value>${db.password}</value>
</property>
</bean>
<!--
URL到处理器的映射列表可以配置多个
mappings属性健值为URL程序文件地址,而值为处理器的Bean名字,URL程序文件地址可采用路径匹配的模式,如:
com/mvc/t?st.jsp:匹配com/mvc/test.jsp、com/mvc/tast.jsp等 com/mvc /*.jsp
:匹配所有com/mvc/下带jsp后缀的URL com/mvc
/**/test.jsp:匹配所有在com/mvc路径下或子孙路径下的test.jsp com/mvc
/**/*.jsp:匹配所有com/mvc路径下或子孙路径下带.jsp后缀的URL cn/**/web/bla.jsp:匹配
cn/option/web/dog.jsp cn/option/test/web/dog.jsp cn/web/dog.jsp的请求
-->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>
user.do=userAction
</value>
</property>
</bean>
<!--定义视图通过internalResourceView来表示使用的是Servlet/jsp技术-->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.InternalResourceView
</value>
</property>
<!--jsp存放的目录-->
<property name="prefix">
<value>/jsp/</value>
</property>
<!--jsp文件的后缀-->
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
<bean id="userDao" class="com.yjde.springmvc.UserDao">
<property name="dataSource"ref="dataSource"></property>
</bean>
<!--定义控制器-->
<bean id="userAction" class="com.yjde.springmvc.UserController">
<property name="dao">
<ref bean="userDao"/>
</property>
<property name="commandClass">
<value>com.yjde.springmvc.UserDao</value>
</property>
<property name="viewpage">
<value>userInfo</value>
</property>
</bean>
</beans>
以上就集成好了,加入mysql的jar包就可以连接mysql了。
二、redis集成springMVC的方法:
1. 依赖包安装
pom.xml 加入:
[html] view plain copy print?
<!-- redis cache related.....start -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.6.0.RELEASE</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.3</version>
</dependency>
2. Spring 项目集成进缓存支持
要启用缓存支持,我们需要创建一个新的 CacheManager bean。CacheManager 接口有很多实现,本文演示的是和 Redis 的集成,自然就是用 RedisCacheManager 了。Redis 不是应用的共享内存,它只是一个内存服务器,就像 MySql 似的,我们需要将应用连接到它并使用某种“语言”进行交互,因此我们还需要一个连接工厂以及一个 Spring 和 Redis 对话要用的 RedisTemplate,这些都是 Redis 缓存所必需的配置,把它们都放在自定义的 CachingConfigurerSupport 中:
@EnableCaching
public class RedisCacheConfig extends CachingConfigurerSupport {
@Bean
public JedisConnectionFactory redisConnectionFactory() {
JedisConnectionFactory redisConnectionFactory = new JedisConnectionFactory()
// Defaults
redisConnectionFactory.setHostName("192.168.1.166")
redisConnectionFactory.setPort(6379)
return redisConnectionFactory
}
@Bean
public RedisTemplate<String, String>redisTemplate(RedisConnectionFactory cf) {
RedisTemplate<String, String>redisTemplate = new RedisTemplate<String, String>()
redisTemplate.setConnectionFactory(cf)
return redisTemplate
}
@Bean
public CacheManager cacheManager(RedisTemplate redisTemplate) {
RedisCacheManager cacheManager = new RedisCacheManager(redisTemplate)
// Number of seconds before expiration. Defaults to unlimited (0)
cacheManager.setDefaultExpiration(3000)// Sets the default expire time (in seconds)
return cacheManager
}
}
3、在 applicationContext.xml 中加入以下配置:
<context:component-scan base-package="com.defonds.bdp.cache.redis" />
可以的需要有两个配置文件。
1. mysql 数据库映射:
A.driverClassName=com.mysql.jdbc.Driver
A.url=jdbc:mysql://172.20.7.51:3308/blog
A.username=trappuser
A.password=Opera1!
B.driverClassName=com.mysql.jdbc.Driver
B.url=jdbc:mysql://localhost:3306/wedding
B.username=root
B.password=opera
上面定义的A、B为两个mysql instance的缩写。
2. 存储过程与mysql instance的映射关系:
SP_Get_User=A
GetStocks=B
定义两个模拟存储过程,第一个数据库“SP_Get_User“是在数据库A下面,第二个数据库”GetStocks“是在数据库B下面。
3. 建立自定义的sessionFactory
3.1 xml配置的datasource及sessionFactory如下:
<bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource">
<property name="driverClassName" value="${database.driverClassName}"/>
<property name="url" value="${database.url}"/>
<property name="username" value="${database.username}"/>
<property name="password" value="${database.password}"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="packagesToScan" value="com.xx.assetcommander">
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
ApplicationContext act=new FileSystemXmlApplicationContext("classpath:这里写你的application.xml的地址记得加xml后缀")UserDaoImpl userdaoimpl=act.getBean("userdaoimpl")//这里放你spring配置文件中的配置的类的id List<UserInfo>userInfoList = userdaoimpl.getAllUser()你要用这个方法去取spring的配置文件,让spring来管理事务。你之前的写法会空指针。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)