SpringBoot2:学SpringBoot前的知识准备-用IDEA创建传统的webapp工程,并整 ...

打印 上一主题 下一主题

主题 890|帖子 890|积分 2670

1、IDEA创建工程

基于Maven模板创建的SpringMVC工程

工程创建好后,只有webapp目录

这里,我们需要手动创建java目录和resources设置文件目录

创建好后,设置下目录属性

最终结构

至此,工程就创建好了
2、设置Tomcat

参考:IDEA设置Tomcat

3、整合SpringMVC

pom.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4.   <modelVersion>4.0.0</modelVersion>
  5.   <groupId>mvcweb</groupId>
  6.   <artifactId>mvcweb</artifactId>
  7.   <version>1.0-SNAPSHOT</version>
  8.   <packaging>war</packaging>
  9.   <name>mvcweb Maven Webapp</name>
  10.   <!-- FIXME change it to the project's website -->
  11.   <url>http://www.example.com</url>
  12.   <properties>
  13.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  14.     <maven.compiler.source>8</maven.compiler.source>
  15.     <maven.compiler.target>8</maven.compiler.target>
  16.     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  17.     <!-- spring版本号 -->
  18.     <spring.version>4.2.5.RELEASE</spring.version>
  19.     <!-- mybatis版本号 -->
  20.     <mybatis.version>3.2.8</mybatis.version>
  21.     <!-- mysql驱动版本号 -->
  22.     <mysql-driver.version>5.1.29</mysql-driver.version>
  23.     <!-- log4j日志包版本号 -->
  24.     <slf4j.version>1.7.18</slf4j.version>
  25.     <log4j.version>1.2.17</log4j.version>
  26.   </properties>
  27.   <dependencies>
  28.     <!-- 添加spring核心依赖 -->
  29.     <dependency>
  30.       <groupId>org.springframework</groupId>
  31.       <artifactId>spring-webmvc</artifactId>
  32.       <version>${spring.version}</version>
  33.     </dependency>
  34.     <dependency>
  35.       <groupId>javax</groupId>
  36.       <artifactId>javaee-api</artifactId>
  37.       <version>8.0</version>
  38.     </dependency>
  39.     <dependency>
  40.       <groupId>com.alibaba</groupId>
  41.       <artifactId>fastjson</artifactId>
  42.       <version>1.1.41</version>
  43.     </dependency>
  44.   </dependencies>
  45.   <build>
  46.     <finalName>mvcweb</finalName>
  47.     <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
  48.       <plugins>
  49.         <plugin>
  50.           <artifactId>maven-clean-plugin</artifactId>
  51.           <version>3.4.0</version>
  52.         </plugin>
  53.         <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
  54.         <plugin>
  55.           <artifactId>maven-resources-plugin</artifactId>
  56.           <version>3.3.1</version>
  57.         </plugin>
  58.         <plugin>
  59.           <artifactId>maven-compiler-plugin</artifactId>
  60.           <version>3.13.0</version>
  61.         </plugin>
  62.         <plugin>
  63.           <artifactId>maven-surefire-plugin</artifactId>
  64.           <version>3.3.0</version>
  65.         </plugin>
  66.         <plugin>
  67.           <artifactId>maven-war-plugin</artifactId>
  68.           <version>3.4.0</version>
  69.         </plugin>
  70.         <plugin>
  71.           <artifactId>maven-install-plugin</artifactId>
  72.           <version>3.1.2</version>
  73.         </plugin>
  74.         <plugin>
  75.           <artifactId>maven-deploy-plugin</artifactId>
  76.           <version>3.1.2</version>
  77.         </plugin>
  78.       </plugins>
  79.     </pluginManagement>
  80.   </build>
  81. </project>
复制代码
web.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app
  3.     version="4.0"
  4.     xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  5.     xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee"
  6.     xmlns:xml="http://www.w3.org/XML/1998/namespace"
  7.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  8.     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd">
  9.   <display-name>Archetype Created Web Application</display-name>
  10.   <!-- springMVC核心配置 -->
  11.   <servlet>
  12.     <servlet-name>springmvc</servlet-name>
  13.     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  14.     <init-param>
  15.       <param-name>contextConfigLocation</param-name>
  16.       <param-value>classpath:conf/spring-mvc.xml</param-value>
  17.     </init-param>
  18.     <load-on-startup>1</load-on-startup>
  19.   </servlet>
  20.   <servlet-mapping>
  21.     <servlet-name>springmvc</servlet-name>
  22.     <url-pattern>*.do</url-pattern>
  23.   </servlet-mapping>
  24. </web-app>
复制代码
创建jsp页面
页面位置:E:\workspace\mvcweb\src\main\webapp\hello.jsp
  1. <html>
  2. <head>
  3.     <title>Test SpringMVC</title>
  4. </head>
  5. <body>
  6. <h2>Hello SpringMVC</h2>
  7. </body>
  8. </html>
复制代码
创建hello controller
我这里用的最原始的springmvc接口方式,继承controller类的方式写一个测试接口
  1. package com.mvc.controller;
  2. import org.springframework.web.servlet.ModelAndView;
  3. import org.springframework.web.servlet.mvc.Controller;
  4. import javax.servlet.http.HttpServletRequest;
  5. import javax.servlet.http.HttpServletResponse;
  6. public class HelloController implements Controller {
  7.         @Override
  8.         public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
  9.                 ModelAndView mv = new ModelAndView("hello.jsp");
  10.                 return mv;
  11.         }
  12. }
复制代码
创建spring-mvc.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  5.     <bean id="/hello.do" class="com.mvc.controller.HelloController"/>
  6. </beans>
复制代码
启动工程,并测试hello.do接口
可以正常访问接口,阐明成功整合springmvc

4、比对SpringBoot

我们知道spring的核心就是IOC、AOP、DI,三大特性。
IOC容器的作用就是管理bean实例,默认是单例模式。
以往的springmvc工程,创建bean,需要在spring-xxx.xml文件中,通过<bean/>标签来管理。
相称繁琐。
后来,在spring-xxx.xml文件中,设置基础包的扫描路径,如许,通过扫描注解,将相应的Java类注入到IOC容器中
webapp项目打包后,都是war包,通过外部的Tomcat进行部署。
到了SpringBoot就更爽了,xml设置文件直接省去,直接通过注解来实现设置。
并且,Tomcat也内置了。
直接天生jar包,通过命令行启动。
增补文献:
1、springmvc与springboot的优劣比较
2、浅谈springmvc的设置文件的理解
3、SpringMVC的理解
4、web.xml里面的设置加载顺序
5、IDEA设置Tomcat
5、带着问题和目的学习SpringBoot

依靠注入,DI特性,是完全继承的。以是,无需特殊关注。
问题1:
xml设置方式取消了,springboot中怎样实现设置?
问题2:
web.xml中设置的listener、servlet、filter、context-param,springboot中怎么实现?
问题3:
springmvc中,通过差别的spring-xxx.xml文件来管理差别的spring容器。
springboot中容器怎么分别的?
参考:spring中容器分类
问题4:
springboot怎么实现AOP切面管理的?
问题5:
springmvc中,整合mybatis、druid、文件的上传下载、定时使命等第三方组件的整合是在spring-xxx.xml文件中设置的,springboot中,怎么实现?

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

河曲智叟

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表