用eclipse for Java EE软件创建maven工程
GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。
ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
一般GroupID就是填com.xxx.xxx
#首先为了避免乱码,我们应该将项目编码换成UTF-8,以后项目编码都采用UTF-8,加个字符编码过滤器
maven工程创建完毕之后,可以通过run on server测试工程创建结果,出现下面的结果就说明创建成功了!!
下面开始整合框架
这次整合我分了2个配置文件,分别是spring-mybatis.xml,包含spring和mybatis的配置文件,还有个是spring-mvc的配置文件spring-mvc.xml。
此外有2个资源文件:jdbc.propertis和log4j.properties。
maven的pom文件引入jar包
运行maven install下载jar包。
下面整合Spring与MyBatis。
先配置JDBC属性文件jdbc.properties。
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3307/DB_shq?useUnicode=true&characterEncoding=UTF-8
username=root
password=
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
maxWait=60000
配置spring-mybatis.xml文件。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
destroy-method="close">
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
注意.xsd文件后面不要有空格!!
配置Log4j文件。
#定义LOG输出级别
log4j.rootLogger=INFO,Console,File
#定义日志输出目的地为控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#可以灵活地指定日志输出格式,下面一行是指定具体的格式
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n
#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.File = org.apache.log4j.RollingFileAppender
#指定输出目录
log4j.appender.File.File = logs/weixin_springmvcMybist/ssm.log
#定义文件最大大小
log4j.appender.File.MaxFileSize = 10MB
#输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
可以通过Junit进行mybatis整合的测试。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring-mybatis.xml"})
public class test {
private static Logger logger = Logger.getLogger(test.class);
@Resource
aaService service;
@Test
public void test1(){
service.insert(11231);
logger.debug("test1运行成功");
System.out.println("处理完毕");
}
@Test
public void aaDaoTest() throws IOException{
//获取数据库资源文件,调用mybatis相关类连接数据库
String resource="spring-mybatis.xml";
Reader reader=Resources.getResourceAsReader(resource);
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(reader);
SqlSession session = factory.openSession();
aaDAO dao = session.getMapper(aaDAO.class);
dao.insert(1113);
System.out.println("处理完毕");
}
}
下面整合SpringMVC,SpringMVC的配置文件单独放,然后在web.xml中配置整合。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
配置web.xml文件。
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
@RequestMapping(value = "/home")
@Controller
public class IndexController {
@Resource
private aaService service;
@RequestMapping(value = "h")
@ResponseBody
public void index(){
service.insert(29999222);
System.out.println("1212121212");
}
}