SSM整合
来源:互联网 发布:淘宝助理查询快递单号 编辑:程序博客网 时间:2024/06/15 16:04
SSM整合
一、导入相应的jar包
Spring相关
<!--核心包--><dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.12.RELEASE</version></dependency><!--第三方orm框架--><dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>4.3.12.RELEASE</version></dependency><!--事物管理--><dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.3.12.RELEASE</version></dependency><!--切面编程包--><dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>4.3.12.RELEASE</version></dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.3.12.RELEASE</version></dependency>
SpringMVC
<!--spring mvc--><dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.12.RELEASE</version></dependency>
MyBatis
<!--MyBatis核心包--><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version></dependency> <!--MyBatis 对spring支持--><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.1</version></dependency>
druid连接池与mysql驱动
<!--druid连接池池--><dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.4</version></dependency><!--mysql driver--><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.42</version></dependency>
json数据
<!--fastjsion 需要配置--><dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson.version}</version></dependency><!-- 或者使用jackson 默认无需配置--><dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson.version}</version></dependency><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>${jackson.version}</version></dependency><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>${jackson.version}</version></dependency><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version></dependency>
文件上传
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency>
第二步、Spring+Mybatis整合
1、说明
- 配置数据库相关参数properties的属性:通过${}来获取属性值
- 数据库连接池
- 配置SqlSessionFactory对象 这一步非常重要。把entity扫面和mapper.xml扫描配置进去
- 配置扫描DAO接口包 目的:动态实现DAO接口,并注入到Spring容器中,最能节省工作量的配置
2、整合步骤
applicationContext.xml
<context:component-scan base-package="com.werner.ssm"/>
备注
1. <context:component-scan>扫描和@Component相关的注解。其中包括@Controller,@Service,@Repository等,这些都是从@Component中继承而来的;并且完成对应注解内容的注入,也就是说这个标签它涵盖了下面这个标签的功能。2 . <context:annotation-config> 扫描和@Autowired相关、相似的注解。其中包括@Required,@Autowired等等,这些标签有些是JSR规范的,所以Java原生的辅助注解。2. <mvn:annotation-driven> 扫描Java配置MVC的部分,官网的内容指示的是:@EnableWebMvc,@Configuration修饰的一个类,等同于编程式声明。然后扫这个类就知道了mvc的配置,如果用了xml根本不需
spring-mybatis.xml
<!--1.配置数据库相关参数 properties的属性:通过${}来获取属性值 --><context:property-placeholder location="classpath:/config/jdbc.properties"/>
<!--3 连接池配置--><!--在上面的配置中,通常你需要配置url、username、password,maxActive这三项。 Druid会自动跟url识别驱动类名,如果连接的数据库非常见数据库,配置属性driverClassName asyncInit是1.1.4中新增加的配置,如果有initialSize数量较多时,打开会加快应用启动时间 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> <property name="filters" value="stat"/> <property name="maxActive" value="20"/> <property name="initialSize" value="1"/> <property name="maxWait" value="60000"/> <property name="minIdle" value="1"/> <property name="timeBetweenEvictionRunsMillis" value="60000"/> <property name="minEvictableIdleTimeMillis" value="300000"/> <property name="testWhileIdle" value="true"/> <property name="testOnBorrow" value="false"/> <property name="testOnReturn" value="false"/> <property name="poolPreparedStatements" value="true"/> <property name="maxOpenPreparedStatements" value="20"/> <property name="asyncInit" value="true"/></bean>
<!--3.配置SqlSessionFactory对象 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" > <!-- 注入数据库连接池 --> <property name="dataSource" ref="dataSource"/> <!-- 配置MyBatis全局配置文件:mybatis-config.xml --> <property name="configLocation" value="classpath:/config/mybatis-config.xml"/> <!-- 扫描entity包 使用别名 --> <property name="typeAliasesPackage" value="com.werner.ssm.domain.entity"/> <!-- 扫描sql配置文件:mapper需要的xml文件 --> <!-- 这句配置mapper配置文件的位置 如果采用注解的方式这句可以省去 --> <property name="mapperLocations" value="classpath:mappers/*.xml"/></bean>
<!--4 Mapper接口所在包名,Spring自动扫描 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" p:basePackage="com.werner.ssm.mapper" p:sqlSessionFactoryBeanName="sqlSessionFactory" />
第三步、SpringMVC整合
1、说明
1.1、主要配置
- 注解的启动
- 自动扫描控制器,
- 视图模式,
- 静态资源的处理
2.1、其它配置
- 配置文件上传
- 第三方json整合(fastjson)
- 避免IE执行AJAX时,返回JSON出现下载文件
2、整合步骤
2.1、spring-mvc.xml
注解模式
<!-- 1.开启SpringMVC注解模式 --><!-- 简化配置: 1>自动注册DefaultAnootationHandlerMapping,AnotationMethodHandlerAdapter 2>提供一些列:数据绑定,数字和日期的format @NumberFormat, @DateTimeFormat, xml,json默认读写支持 --><mvc:annotation-driven />
自动扫描控制器
<!--由子容器扫描装配了@Service 注解的实例。spring的context是父子容器,由ServletContextListener加载spring配置文件产生的是父容器,springMVC加载配置文件产生的是子容器,子容器对Controller进行扫描装配时装配了@Service注解的实例(@Controller 实例依赖@Service实例),而该实例理应由父容器进行初始化以保证事务的增强处理,所以此时得到的将是原样的Service(没有经过事务加强处理,故而没有事务处理能力)--><context:component-scan base-package="com.werner.ssm"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/></context:component-scan>
静态资源处理
<!-- 2.静态资源默认servlet配置 1> 加入对静态资源的处理:js,gif,png,pdf,word 3>允许使用"/"做整体映射--><mvc:default-servlet-handler/>
视图转化器
<!-- 3.配置jsp 显示ViewResolver --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/></bean>
文件上传配置
<!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 默认编码 --> <property name="defaultEncoding" value="utf-8" /> <!-- 文件大小最大值 --> <property name="maxUploadSize" value="10485760000" /> <!-- 内存中的最大值 --> <property name="maxInMemorySize" value="40960" /> </bean>
fastjson数据整合
<mvc:annotation-driven /> <mvc:annotation-driven> <mvc:message-converters> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <!--避免IE执行AJAX时,返回JSON出现下载文件,指定字符集--> <property name="supportedMediaTypes" value="application/json;charset=UTF-8"/> <property name="fastJsonConfig"> <bean class="com.alibaba.fastjson.support.config.FastJsonConfig"> <!--指定默认输出的日期格式--> <property name="dateFormat" value="yyyy-MM-dd HH:mm:ss"/> <!--序列化对象配置--> <property name="serializerFeatures"> <array> <!--输出key时是否使用双引号,默认为true--> <value>QuoteFieldNames</value> <!--将JavaBean序列化为带格式的JSON文本--> <value>PrettyFormat</value> <!--是否输出值为null的字段,默认为false--> <value>WriteMapNullValue</value> <!--List字段若为null,输出[],而非null--> <value>WriteNullListAsEmpty</value> <!--数值字段若为null,输出0,而非null--> <value>WriteNullNumberAsZero</value> <!--字符类型字段若为null,输出”“,而非null--> <value>WriteNullStringAsEmpty</value> <!--Boolean字段若为null,输出false,而非null--> <value>WriteNullBooleanAsFalse</value> <!--日期格式化--> <value>WriteDateUseDateFormat</value> </array> </property> </bean> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>
避免IE执行AJAX时,返回JSON出现下载文件
<!--Jackson2 避免IE执行AJAX时,返回JSON出现下载文件 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property></bean>
2.2、web.xml
注册
<!--注册springMVC--> <servlet> <servlet-name>dispatch</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-*.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatch</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
阅读全文
0 0
- SSM整合
- SSM整合
- SSM整合
- ssm整合
- SSM整合
- ssm整合
- ssm整合
- SSM整合
- SSM整合
- SSM整合
- SSM整合
- ssm整合
- ssm整合
- ssm整合
- ssm整合
- ssm整合
- ssm整合
- ssm整合
- centos下mysql编码问题
- jstat使用
- SQL 去除重复行一些语句
- 计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换
- 第十二周 【项目4
- SSM整合
- Android Wake Lock 机制
- 一年去雾算法研究的总结
- 在linux配置java环境变量
- jQMeter.js —动态进度条插件
- 第十三周项目三——是否二叉排序树?
- Java追加文件内容的三种方法
- 被选中的商品价格计入总金额
- Intellij IDEA配置springMVC时提示"context:component-scan" is not bound