您好,登錄后才能下訂單哦!
這篇文章主要介紹了SSM整合的方法是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇SSM整合的方法是什么文章都會有所收獲,下面我們一起來看看吧。
(1)依賴spring webmvc
將spring MVC的依賴包添加到pom文件中
<依賴> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.6.RELEASE</version> </依賴>
(2)網頁端在XML文件中配置DispatcherServlet
<小服務程序> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <初始化參數> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext*.xml</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet 映射> <servlet-name>springmvc</servlet-name> <url-模式>/</url-模式> </servlet-mapping>
(3)在ApplicationContext中啟用spring MVC注解模式在XML中配置spring MVC注解模式
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mv="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd"> <context:component-scan base-package="com.imooc"/> <mvc:注解驅動> <!--解決響應輸出中文亂碼問題--> <mvc:消息轉換器> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <列表> <value>文本/html;charset=utf-8</value> <value>應用程序/json;charset=utf-8</value> </列表> </屬性> </豆> </mvc:message-converters> </mvc:注解驅動> <!--排除靜態資源,提高程序處理效率--> <mvc:default-servlet-handler/>
(4)配置request和response字符集
為解決request中的字符集編碼問題,在web上配置了xml中的characterencoding過濾器。這是一個 POST 請求,一個 get 請求是更改 Tomcat 的服務器 XML 文件。tomcat8之后,默認get請求是按照UTF-8的字符集編碼的,所以不需要手動配置
<過濾器> <過濾器名稱>字符過濾器</過濾器名稱> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <初始化參數> <param-name>編碼</param-name> <param-value>utf-8</param-value> </init-param> </過濾器> <過濾器映射> <過濾器名稱>字符過濾器</過濾器名稱> <url-pattern>/*</url-pattern> </filter-mapping>
解決響應中的字符集編碼問題,見1.3啟用MVC中的配置內容:spring MVC注解模式下注解驅動標簽
(5)配置FreeMarker模板引擎
給pom文件添加依賴包
freemarker:FreeMarker模板引擎
Spring context support: Spring對FreeMarker模板引擎的支持
<依賴> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <版本>2.3.30</版本> </依賴> <依賴> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>5.2.6.RELEASE</version> </依賴>
應用程序上下文。在 XML 文件中配置 FreeMarker 模板引擎
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <!--配置ftl文件存儲地址--> <property name="templateLoaderPath" value="/WEB-INF/ftl"></property> <property name="freemarkerSettings"> <道具> <!--這個 UTF-8 是讀取 ftl 文件時,使用 UTF-8 來讀取 ftl 文件本身的內容--> <prop key="defaultEncoding">UTF-8</prop> </道具> </屬性> </豆> <!--這個bean id "ViewResolve"r 固定名字,這是SpringMVC強制規定的;這個配置決定了使用哪個模板引擎來解析數據 --> <bean id="ViewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <!--這個配置意味著視圖解析器將數據與模板引擎結合起來,產生一個新的視圖html Fragment,輸出到響應時使用utf-8字符集編碼--> <property name="contentType" value="text/html;charset=utf-8"></property> <!--配置模板引擎擴展--> <property name="suffix" value=".ftl"></property> </豆>
(6)配置Json序列化組件
給pom文件添加依賴包
jackson core:jackson的核心
Jackson annotations:一個注解包,提供了一系列注解,可以用在實體類上,方便序列化和反序列化
Jackson databind:數據綁定包這使我們能夠與 Spring MVC 中的數據進行有效交互
<依賴> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>杰克遜核心</artifactId> <版本>2.12.5</版本> </依賴> <依賴> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>杰克遜注解</artifactId> <版本>2.12.5</版本> </依賴> <依賴> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <版本>2.12.5</版本> </依賴>
(1)POM文件依賴mybatis spring和驅動
<!--Mybatis集成Spring引入依賴--> <依賴> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.6.RELEASE</version> </依賴> <依賴> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <版本>3.5.4</版本> </依賴> <!--Mybatis 和 spring 集成組件--> <依賴> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <版本>2.0.3</版本> </依賴> <!--mysql 驅動器--> <依賴> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <版本>8.0.25</版本> </依賴> <!--連接池--> <依賴> <groupId>com.alibaba</groupId> <artifactId>德魯伊</artifactId> <版本>1.1.14</版本> </依賴>
(2)應用上下文。在 XML 中配置數據源和連接池
<!--Mybatis 與 Spring 整合配置之--> <!--配置數據源--> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property> <屬性名稱="網址" value="jdbc:mysql://localhost:9999/imooc_reader?useSSL=false&characterEncoding=UTF-8&serverTimeZone=Asia/Shanghai&allowPublicKeyRetrieval=true"></property> <property name="username" value="root"></property> <property name="password" value="root"></property> <property name="initialSize" value="5"></property> <property name="maxActive" value="30"></property> </豆>
(3)應用上下文。在 XML 中配置 SqlSessionFactory
<!--SqlSessionFactoryBean 用于根據配置信息創建配置文件SqlSessionFactory,我們不再需要自己創建代碼--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--數據源--> <property name="dataSource" ref="dataSource"></property> <!--mapper 文件存儲地址--> <property name="mapperLocations" value="classpath:mappers/*.xml"></property> <!--Mybatis Profile地址--> <property name="configLocation" value="classpath:mybatis-config.xml"/> </豆>
(4)應用上下文。在 XML 中配置 Mapper 掃描器
<!--配置Mapper Scanner,用于掃描com.imooc.reader.mapper包下的所有mapper接口,并根據對應的xml文檔(mapper文件)自動生成實現類--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.imooc.reader.mapper"/> </豆>
(5)創建mybatis config xml
<!DOCTYPE 配置 PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><配置> <設置> <!--開啟駝峰開關--> <setting name="mapUnderscoreToCamelCase" value="true"/> </設置></配置>
(1)集成JUint單元測試
在pom文件中添加依賴包
<!--單元測試依賴--> <依賴> <groupId>org.springframework</groupId> <artifactId>彈簧測試</artifactId> <version>5.2.6.RELEASE</version> </依賴> <依賴> <groupId>junit</groupId> <artifactId>junit</artifactId> <版本>4.12</版本> <scope>測試</scope> </依賴> <依賴> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <版本>3.1.0</版本> <scope>提供</scope> </依賴>
測試文件需要添加注釋,方便初始化
@RunWith(SpringJUnit4ClassRunner.class) //這個注解表示JUnit會在運行時自動初始化IOC容器@ContextConfiguration(locations = {"classpath:applicationContext.xml"}) //這個注解指明了配置文件在哪里公共類 TestServiceTest { @資源 私有測試服務測試服務; @測試 公共無效批處理導入(){ testService.batchImport(); } }
(2)配置logback日志輸出
在pom文件中引入相關依賴
<依賴> <groupId>ch.qos.logback</groupId> <artifactId>logback-經典</artifactId> <版本>1.2.3</版本> </依賴>
創建 logback XML 并完成相關配置
<配置> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern> %d{YYYY-MM-dd HH:mm:ss} %-5level [%thread] %logger{30} - %msg%n</pattern> <charset>utf-8</charset> </編碼器> </appender> <root level="調試器"> <appender-ref ref="console"></appender-ref> </root> <!--在幾天內將日志保存在文件中--> <appender name="accessHistoryLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>d:/logs/history.%d.log</fileNamePattern> </rollingPolicy> <編碼器> <pattern>[%thread] %d %level %logger{30} - %msg%n</pattern> </編碼器> </appender> <logger name="com.imooc.reader.interceptor.LoginInterceptor" level="info" additivity="false"> <appender-ref ref="accessHistoryLog"/> </logger></配置></配置>
(3)聲明式事務配置
在ApplicationContext中配置XML
<!--聲明式事務配置--> <!--transactionManager 控制事務的開啟、提交和回滾--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <!--配置數據源--> <property name="dataSource" ref="dataSource"></property> </豆> <!--啟用注釋模式的聲明性事務--> <tx:annotation-driven transaction-manager="transacationManager"/>
關于“SSM整合的方法是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“SSM整合的方法是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。