zoukankan      html  css  js  c++  java
  • ssm三个框架的整合

     

     

    创建一个mavenweb项目

    使用maven创建一个web项目

    手动在webapp下创建WEB-INF文件夹和web.xml

    <?xml version="1.0" encoding="UTF-8"?>

    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       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"

       id="WebApp_ID" version="3.0">

    导入依赖包

    <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>

       <groupId>com.mhm.ssm</groupId>

       <artifactId>ssm</artifactId>

       <version>0.0.1-SNAPSHOT</version>

       <packaging>war</packaging>

       <build>

          <plugins>

            <plugin>

               <groupId>org.apache.maven.plugins</groupId>

               <artifactId>maven-compiler-plugin</artifactId>

               <version>3.6.0</version>

               <configuration>

                  <source>1.8</source>

                  <target>1.8</target>

               </configuration>

            </plugin>

          </plugins>

       </build>

      

       <properties>

          <spring-version>4.2.4.RELEASE</spring-version>

       </properties>

       <dependencies>

          <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-web</artifactId>

            <version>${spring-version}</version>

          </dependency>

          <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-webmvc</artifactId>

            <version>${spring-version}</version>

          </dependency>

          <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-core</artifactId>

            <version>${spring-version}</version>

          </dependency>

          <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-context</artifactId>

            <version>${spring-version}</version>

          </dependency>

          <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-beans</artifactId>

            <version>${spring-version}</version>

          </dependency>

          <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-expression</artifactId>

            <version>${spring-version}</version>

          </dependency>

          <dependency>

            <groupId>org.apache.logging.log4j</groupId>

            <artifactId>log4j-api</artifactId>

            <version>2.3</version>

          </dependency>

          <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>4.12</version>

          </dependency>

          <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-aop</artifactId>

            <version>${spring-version}</version>

          </dependency>

          <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-test</artifactId>

            <version>${spring-version}</version>

          </dependency>

          <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-aspects</artifactId>

            <version>${spring-version}</version>

          </dependency>

          <dependency>

            <groupId>com.alibaba</groupId>

            <artifactId>druid</artifactId>

            <version>1.0.9</version>

          </dependency>

          <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

            <version>5.1.32</version>

          </dependency>

          <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-jdbc</artifactId>

            <version>${spring-version}</version>

          </dependency>

          <dependency>

            <groupId>com.fasterxml.jackson.core</groupId>

            <artifactId>jackson-annotations</artifactId>

            <version>2.1.4</version>

          </dependency>

          <dependency>

            <groupId>com.fasterxml.jackson.core</groupId>

            <artifactId>jackson-core</artifactId>

            <version>2.1.4</version>

          </dependency>

          <dependency>

            <groupId>com.fasterxml.jackson.core</groupId>

            <artifactId>jackson-databind</artifactId>

            <version>2.1.4</version>

          </dependency>

          <dependency>

            <groupId>commons-fileupload</groupId>

            <artifactId>commons-fileupload</artifactId>

            <version>1.3.1</version>

          </dependency>

          <dependency>

            <groupId>org.apache.commons</groupId>

            <artifactId>commons-io</artifactId>

            <version>1.3.2</version>

          </dependency>

          <dependency>

            <groupId>org.apache.tomcat</groupId>

            <artifactId>tomcat-servlet-api</artifactId>

            <version>7.0.47</version>

          </dependency>

          <dependency>

               <groupId>com.alibaba</groupId>

               <artifactId>druid</artifactId>

               <version>1.0.9</version>

            </dependency>

            <dependency>

               <groupId>mysql</groupId>

               <artifactId>mysql-connector-java</artifactId>

               <version>5.1.32</version>

            </dependency>

            <dependency>

               <groupId>org.mybatis</groupId>

               <artifactId>mybatis-spring</artifactId>

               <version>1.2.2</version>

            </dependency>

            <!-- mybatis核心包 -->

            <dependency>

               <groupId>org.mybatis</groupId>

               <artifactId>mybatis</artifactId>

               <version>3.2.8</version>

            </dependency>

            <dependency>

               <groupId>org.springframework</groupId>

               <artifactId>spring-jdbc</artifactId>

               <version>4.2.4.RELEASE</version>

            </dependency>

       </dependencies>

     

    </project>

     

    创建目录结构

    在逆向工程中生成映射文件和pojo

    粘贴到自己的项目中

    与持久层连接

    创建db.properties

    mysql.driver=com.mysql.jdbc.Driver

    mysql.url=jdbc:mysql://localhost:3306/test

    mysql.username=root

    mysql.password=root

     

    创建连接池

    <context:property-placeholder location="classpath:config/db.properties" />

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">

          <property name="driverClassName" value="${mysql.driver}" />

          <property name="url" value="${mysql.url}" />

          <property name="username" value="${mysql.username}" />

          <property name="password" value="${mysql.password}" />

       </bean>

    创建与mybatis的关联sqlSessionFactory

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

          <property name="dataSource" ref="dataSource" />

          <!-- <property name="configLocation" value="classpath: mybatis/mybatis.xml"/> -->

          <property name="mapperLocations" value="classpath:../mapper/*.xml"/>

       </bean>

    配置事务

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

          <property name="basePackage" value="com.oracle.mapper"></property>

       </bean>

       <!-- 事务 -->

       <bean id="transactionManager"

          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

          <property name="dataSource" ref="dataSource"></property>

       </bean>

    动态代理

    <!-- 动态代理 -->

       <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

          <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>

          <property name="basePackage" value="com.oracle.mapper"></property>

       </bean>

     

    驱动和注解扫描

    <tx:annotation-driven transaction-manager="transactionManager"/>

       <aop:aspectj-autoproxy/>

    <context:component-scan base-package="com.oracle.*"/>

    与控制层连接

    配置springmvc.xml

    <context:component-scan base-package="com.oracle.*"/>

            <mvc:annotation-driven />

            <mvc:resources location="/css/" mapping="/css/**"/>

            <mvc:resources location="/js/" mapping="/js/**"/>

            <mvc:resources location="/image/" mapping="/image/**"/>

            <mvc:resources location="/upload/" mapping="/upload/**"/>

    配置web.xml

    <!-- 监听器 -->

       <listener>

          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

       </listener>

       <context-param>

          <param-name>contextConfigLocation</param-name>

          <param-value>classpath:spring/spring-tx.xml</param-value>

       </context-param>

       <!-- 过滤器 -->

       <filter>

          <filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name>

          <url-pattern>/</url-pattern>

       </filter-mapping>

     

       <!-- 核心控制器 -->

       <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/*.xml</param-value>

          </init-param>

          <load-on-startup>1</load-on-startup>

       </servlet>

     

       <servlet-mapping>

          <servlet-name>DispatcherServlet</servlet-name>

          <url-pattern>/</url-pattern>

       </servlet-mapping>

    控制器

    ResponseEntity<T>

    作用在方法上,使得方法可以返回给前端状态码和提示信息

    T:为返回的提示信息,可以是String,也可以是自定义的结果集

    @RestController

    @RequestMapping("/goods")

    public class GoodsController {

       @Autowired

       private GoodsService goodsService;

     

       @RequestMapping(value = "/add", method = RequestMethod.POST)

       public ResponseEntity<Result> add(@RequestBody Goods goods) {

          goodsService.add(goods);

          return new ResponseEntity<Result>(new Result(true, "添加成功"), HttpStatus.OK);

       }

    }

    为了避免写jsp文件,发送表单数据,使用Insomnia工具,发送json数据,转换为对象

    链接: https://pan.baidu.com/s/1vLJ9SXvEfjxwFsz6_21BIg 提取码: 53i5

    自定义结果集

    public class Result {

       private boolean success;

       private String message;

     

       public boolean isSuccess() {

          return success;

       }

     

       public void setSuccess(boolean success) {

          this.success = success;

       }

     

       public String getMessage() {

          return message;

       }

     

       public void setMessage(String message) {

          this.message = message;

       }

     

       public Result(boolean success, String message) {

          super();

          this.success = success;

          this.message = message;

       }

     

       public Result() {

          // TODO Auto-generated constructor stub

       }

    }

     

    测试

     

  • 相关阅读:
    怎样使android的view动画循环弹动
    QQ消息99+形成--第三方开源--BezierView
    自定义Toast的显示效果
    (转载)实现QQ侧滑边栏
    图片加载与缓存利器(自动缓存)--第三方开源-- Glide
    多层级Spinner列表选项实时更新树形层级(选择城市)
    android任意view爆炸效果--第三方开源--ExplosionField
    TextView字符串波浪式跳动--第三方开源---JumpingBeans
    简单Spinner
    【前端】JavaScript入门学习
  • 原文地址:https://www.cnblogs.com/mhm111/p/11428741.html
Copyright © 2011-2022 走看看