- 创建目录结构 加入mvc依赖 配置前端控制器
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-mvc.xml</param-value>
</init-param>
//如果值为正整数或者0时,表示容器在应用启动时就加载并初始化这个servlet,值越小,servlet的优先级越高,就越先被加载。值相同时,容器就会自己选择顺序来加载。
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
//这个路径可以匹配/login /hello类型的url,但是不会匹配到index.jsp类型的url
<url-pattern>/</url-pattern>
</servlet-mapping>
- 配置mvc的配置文件 并进行项目启动测试
<context:component-scan base-package="com.study.controller"></context:component-scan>
//开启注解驱动
<mvc:annotation-driven></mvc:annotation-driven>
//静态资源使用默认的servlet来进行处理 且需要和上面面的配套使用 如果只使用这个标签 那么在前端控制器的适配器初始化的时候就不会
//初始化AnnotationMethodHandlerAdapter 这样在访问@RequestMapping的路径就会找不到
<mvc:default-servlet-handler></mvc:default-servlet-handler>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="suffix" value=".jsp"></property>
<property name="prefix" value="/views/"></property>
</bean>
- spring容器配置 配置文件配置
使用注解方式开发 可以不用配置
//扫描自己配置的注解 放到容器中
<context:component-scan base-package=""></context:component-scan>
- spring集成mybatis
1.加入maven依赖 配置文件集成数据库连接池
//mybatis包
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
//spring和mybatis的整合
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.5</version>
</dependency>
//jdbc连接
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
//数据库连接
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.44</version>
</dependency>
//lombok
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.22</version>
</dependency>
<!--集成service层-->
<context:component-scan base-package="com.study"></context:component-scan>
<context:property-placeholder location="classpath*:spring/jdbc.properties"></context:property-placeholder>
<!--集成mybatis-->
<!--数据源配置-->
<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"></property>
<property name="jdbcUrl" value="${jdbc.url}"></property>
<property name="user" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.password}"></property>
<!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数 -->
<property name="acquireIncrement" value="5"></property>
<!-- 初始连接池大小 -->
<property name="initialPoolSize" value="10"></property>
<!-- 连接池中连接最小个数 -->
<property name="minPoolSize" value="5"></property>
<!-- 连接池中连接最大个数 -->
<property name="maxPoolSize" value="20"></property>
</bean>
2.配置mybatis的SqlSessionFactoryBeen的工程
<!--mybatis的sqlsession工厂-->
<bean name="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property> //数据源
<property name="configLocation" value="classpath:spring/mybatis-config.xml"></property> //配置文件路径位置
<property name="typeAliasesPackage" value="com.study.pojo"></property> //别名配置
<property name="mapperLocations" value="classpath:mapper/*.xml"></property> //mapper文件位置
</bean>
3.实现mapper的dao以及xml文件代码
//在集成mybatis的时候接口使用的注解是@Mapper 这是mybatis提供的注解 spring不会扫描到容器中
//需要使用这个扫描 把mybatis的实例放入容器 也可以使用注解的方式@MapperScan()
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.study.dao"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
-
项目集成完成测试
集成tomcat测试。。 -
额外加入mybatis的配置文件(可以不写)
<settings>
<!-- 驼峰法 只能是数据库是带下划线的时候可以匹配pojo不带下划线的字段 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!--开启二级缓存-->
<setting name="cacheEnabled" value="true"/>
</settings>
<plugins>
<!-- com.github.pagehelper为PageHelper类所在包名 使用分页插件-->
<plugin interceptor="com.github.pagehelper.PageInterceptor">
</plugin>
</plugins>
- 加上注解式事物
<!-- 数据源事务管理平台 可以管理不同的数据库 -->
<bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 注入相应的数据源 -->
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 开启事务注解标签 -->
<tx:annotation-driven/>
使用的是在要是用的位置加入注解@Transactional