精华内容
下载资源
问答
  • SSM 框架整合 步骤

    2018-12-19 11:05:42
    SSM 框架整合 步骤 最近学习了,spring springmvc mybatis 三大框架 ,现在自己试着整理下 SSM整合步骤 先建立一个 web项目,在数据库中建表 输入数据 添加tomcat服务器 idea中tomcat的包需要自己导入 我之前...

    SSM 框架整合 步骤

    最近学习了,spring springmvc mybatis 三大框架 ,现在自己试着整理下 SSM的整合步骤

    1. 先建立一个 web项目,在数据库中建表 输入数据

    2. 添加tomcat服务器 idea中tomcat的包需要自己导入 我之前用的那个eclipse也得导入server runtime包
      再导入其他所需的jar包,包括 spring springmvc的jar包,mybatis jar包,mybatis-spring整合包,数据库驱动包,第三方连接池(c3p0,dbcp druid)

    导入包之后 先整合dao层
    新建包 dao(或者mapper)
    pojo(实体类所在的包)

    在src下创建SqlMapSpring.xml  mybatis的全局配置文件 导入约束  
    因为后面 用到Mapper动态代理 扫描   所以我只给pojo包起别名
    	```
    	<configuration>
    	    <typeAliases>
    	        <package name="com.cc.crm.pojo"/>
    	    </typeAliases>
    	</configuration>
    	```
    在src下创建applicationContext.xml  spring的核心配置文件 ( 我是直接只写一个  没有分 dao的 service的 事务的)
    	先导入约束
    	如果你把连接数据库的配置信息 写入properties文件中了 那么先在 src下 写配置文件 例如 jdbc.properties    然后在applicationContext.xml中读取 jdbc.properties,当然不写 properties配置信息文件 也可以 
    ```
    <context:property-placeholder location="classpath:jdbc.properties"/>
    ```
    	配置数据源(连接池)
    		```
    		 <!--配置数据源 连接池 bruid 是最好的 数据源连接池-->
    		    <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    		
    		        <property name="driverClassName" value="${jdbc.driver}"/>
    		        <property name="url" value="${jdbc.url}"/>
    		        <property name="username" value="${jdbc.username}"/>
    		        <property name="password" value="${jdbc.password}" />
    		    </bean>
    		```
    	配置mybatis的 SqlSessionFactory  把它交给spring来管理
    ```
    		  <!--配置SqlSessionFactory工厂-->
    		    <bean name="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    		        <property name="dataSource" ref="dataSource"/>
    		        <property name="configLocation" value="classpath:SqlMapConfig.xml"/>
    		    </bean>
    ```
    	配置Mapper动态代理  扫描
    			```
    			 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    			        <!--基本包-->
    			        <property name="basePackage" value="com.cc.crm.mapper"/>
    			    </bean>
    			```
    	还有dao(mapper)包下 
    		写接口
    		和mapperxml sql映射文件
    			导入约束  写 所需的要操作数据库的  标签 和sql语句
    

    dao层 整合完之后,整合 Service层
    创建 service包

    在applicationContext.xml中
    配置事务  我用的是注解 开启事务
    
    	```
    	<tx:annotation-driven transaction-manager="transactionManager"/>
    				
    				    <bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    				        <property name="dataSource" ref="dataSource"/>
    				    </bean>
    	```
    

    整合 web层
    创建controller包

    在src下 创建springmvc.xml
    	导入约束条件  
    	配置注解扫描
    		```
    		<context:component-scan base-package="com.cc.crm"/>
    		<!--这样 直接 service包 和 controller包下 都能扫描注解了-->
    		```
    	配置 处理器映射器和处理器适配器
    	  这两个可以 通过  配置注解驱动 来配置
    		```
    		<mvc:annotation-driven/>
    		```
    	配置视图解析器
    		```
    		<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    		        <property name="prefix" value="/WEB-INF/jsp/"/>
    		        <property name="suffix" value=".jsp"/>
    		    </bean>
    		```
    

    在web.xml中 配置
    springmvc 框架 所需的前端控制器 是一个servlet
    ```

    crm_springmvc
    org.springframework.web.servlet.DispatcherServlet

    contextConfigLocation
    classpath:springmvc.xml



    crm_springmvc
    *.action

    	    </servlet-mapping>
    	```
    配置一个监听器 当项目启动的时候 spring容器开启 当项目关闭的时候 spring容器销毁
    	```
    	 <listener>
    	        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	    </listener>
    	    <context-param>
    	        <param-name>contextConfigLocation</param-name>
    	        <param-value>classpath:applicationContext.xml</param-value>
    	    </context-param>
    	```
    配置一个 解决post乱码的过滤器
    	```
    	<!-- 配置过滤器,解决post的乱码问题 -->
    	    <filter>
    	        <filter-name>encoding</filter-name>
    	        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    	        <init-param>
    	            <param-name>encoding</param-name>
    	            <param-value>UTF-8</param-value>
    	        </init-param>
    	    </filter>
    	    <filter-mapping>
    	        <filter-name>encoding</filter-name>
    	        <url-pattern>/*</url-pattern>
    	    </filter-mapping>
    	```
    	这个就是 我总结的SSM大体整合过程
    	 有些例如:异常处理器 转换器的之类的 我没写 
    
    展开全文
  • ssm框架整合步骤

    2021-02-16 10:02:43
    **ssm框架整合步骤** Spring和Spring MVC的环境配置: 1.依赖spring-webmvc xiaopeng-reader(pom.xml) <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" ...
    						   **ssm框架整合步骤**
    

    Spring和Spring MVC的环境配置:

    1.依赖spring-webmvc

    xiaopeng-reader(pom.xml)

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <!-- 模型版本 -->  
        <modelVersion>4.0.0</modelVersion>
        
        <!--项目所在的组:com.xiaopeng,是main目录里java的目录结构--> 
        <groupId>com.xiaopeng</groupId>
        
        <!--当前项目在组中的唯一标识:xiaopeng-reader-->  
        <artifactId>xiaopeng-reader</artifactId>
        
        <!--xiaopeng-reader这个项目的版本号-->  
        <version>1.0-SNAPSHOT</version>
        
        <!--Maven依赖spring-webmvc-->
        <!--仓库配置:引入阿里云Maven镜像,提高依赖包的下载速度-->
        <repositories>
            <repository>
                <id>aliyun</id>
                <name>aliyun</name>
                <url>https://maven.aliyun.com/repository/public</url>
            </repository>
        </repositories>
        
        <!--引入依赖包-->
        <dependencies>
            <!--SpringMVC核心依赖包:含有Spring MVC 框架相关的所有类。包括框架的Servlets,Web MVC框架,控制器和视图支持-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>5.3.3</version>
            </dependency>
            
            <!--Freemarker:根据提供的数据和创建好的模板,去自动的创建html静态页面-->
            <dependency>
                <groupId>org.freemarker</groupId>
                <artifactId>freemarker</artifactId>
                <version>2.3.30</version>
            </dependency>
            
            <!--为了让SpringMVC支持Freemarker,引入Spring整合组件-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>5.3.3</version>
            </dependency>
            
            <!--Jackson:序列化工具包-->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>2.11.0</version>
            </dependency>
            
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>2.11.0</version>
            </dependency>
            
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.11.0</version>
            </dependency>
         </dependencies>
    </project>
    
    2.配置DispatcherServlet

    src/main/webapp/WEB-INF/web.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             version="3.1">
        <!--配置DispatcherServlet:Spring MVC最核心的对象,用于拦截Http请求,
            并根据请求的URL调用与之对应的Controller方法,来完成Http请求的处理-->
        <servlet>
            <servlet-name>springmvc</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:applicationContext*.xml</param-value>
            </init-param>
            
            <!--在Web应用启动时自动创建Spring Ioc容器,并初始化DispatcherServlet-->
            <load-on-startup>0</load-on-startup> 
        </servlet>
        
        <!--为DispatcherServlet映射url-->
        <servlet-mapping>
            <servlet-name>springmvc</servlet-name>
            <!--"/"代表拦截所有请求-->
            <url-pattern>/</url-pattern>
        </servlet-mapping>
        
    </web-app>
    
    3.启用Spring MVC注解模式

    src\main\resources\applicationContext.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:task="http://www.springframework.org/schema/task"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xsi:schemaLocation="
                http://www.springframework.org/schema/beans
                https://www.springframework.org/schema/beans/spring-beans.xsd
                http://www.springframework.org/schema/mvc
                https://www.springframework.org/schema/mvc/spring-mvc.xsd
                http://www.springframework.org/schema/context
                https://www.springframework.org/schema/context/spring-context.xsd
                http://www.springframework.org/schema/task
                http://www.springframework.org/schema/task/spring-task.xsd
                http://www.springframework.org/schema/tx
                http://www.springframework.org/schema/tx/spring-tx.xsd">
        <!--开启SpringMVC注解模式-->
        <context:component-scan base-package="com.xiaopeng"/>
        <mvc:annotation-driven/>
        <mvc:default-servlet-handler/>
    </beans>
    
    4.配置请求与响应字符集
    <!--解决Get、post请求的中文乱码问题-->
        <filter>
            <filter-name>characterFilter</filter-name>
            <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
            <init-param>
                <param-name>encoding</param-name>
                <param-value>UTF-8</param-value>
            </init-param>
        </filter>
        
        <filter-mapping>
            <filter-name>characterFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    
    <mvc:annotation-driven>
            <mvc:message-converters>
                <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <value>text/html;charset=utf-8</value>
                        </list>
                    </property>
                </bean>
            </mvc:message-converters>
        </mvc:annotation-driven>
    
    5.配置Freemarker模板引擎
    <!--配置Freemarker模板引擎-->
    <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
            <property name="templateLoaderPath" value="/WEB-INF/ftl"/>
            <property name="freemarkerSettings">
                <props>
                    <prop key="defaultEncoding">utf-8</prop>
                </props>
            </property>
        </bean>
        <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
            <property name="contentType" value="text/html;charset=utf-8"/>
            <property name="suffix" value=".ftl"/>
        </bean>
    
    6.配置Json序列化组件
     <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <!--JSON(Jackson)序列化输出配置-->
                            <value>application/json;charset=utf-8</value>
                        </list>
                    </property>
                </bean>
    

    Spring和MyBatis的整合配置:

    1.依赖mybatis-spring及驱动
    		<!-引入相关依赖-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>5.3.3</version>
            </dependency>
            
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.5.4</version>
            </dependency>
            
            <!--Mybatis和Spring整合组件-->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>2.0.3</version>
            </dependency>
            
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.21</version>
            </dependency>
            
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.1.14</version>
            </dependency>
    
    2.配置数据源与连接池
        <!--配置数据源-->
        <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
            <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://localhost:3306/xiaopeng_reader?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=Asia/Shanghai"/>
            <property name="username" value="root"/>
            <property name="password" value="123456"/>
            <property name="initialSize" value="10"/>
            <property name="maxActive" value="20"/>
        </bean>
    
    3.配置SqlSessionFactory
    <!--创建sessionFactory对象-->
        <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource"/>
            <property name="mapperLocations" value="classpath:mappers/*.xml"/>
        </bean>
    
    4.配置Mapper扫描器
    	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        	<property name="basePackage" value="com.xiaopeng.reader.mapper"/>
    	</bean>
    
    5.创建mybatis-config.xml
        <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
          	<property name="configLocation" value="classpath:mybatis-config.xml"/>  
        </bean>
    

    src\main\resources\mybatis-config.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration 
             PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <settings>
            <setting name="mapUnderscoreToCamelCase" value="true"/>
        </settings>
    </configuration>
    

    整合其它组件:

    1.配置logback日志输出

    src\main\resources\logback.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                <pattern>%d{HH:mm:ss}%-5level[%thread]%logger{30} - %msg%n</pattern>
                <charset>UTF=8</charset>
            </encoder>
        </appender>
        <root level="debug">
            <appender-ref ref="console"/>
        </root>
    </configuration>
    
    2.声明式事务配置
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource"/>
        </bean>
        <tx:annotation-driven transaction-manager="transactionManager"/>
    
    3.整合junit单元测试
    <!--单元测试依赖-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>5.3.3</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
            </dependency>
    
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>3.1.0</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    
    展开全文
  • SSM框架整合步骤

    千次阅读 2019-02-19 14:52:34
    SSM框架整合步骤一、搭建整合环境1. 整合说明:SSM整合可以使用多种方式,咱们会选择XML + 注解的方式2. 整合的思路3. 创建数据库和表结构4. 创建maven的工程(今天会使用到工程的聚合和拆分的概念,这个技术maven...