为什么要学习SpringBoot,?? 带你快速入门详解

广告位

6 SpringBoot入门 1.简述 为什么要学习SpringBoot: 是spring全家桶基础知识,用来…

6

SpringBoot入门

1.简述

为什么要学习SpringBoot:

是spring全家桶基础知识,用来快捷整合其他框架(spring、springMVC、mybatis),开发效率更高。

没有代码生成,默认无需 XML 配置(可以和旧的xml配置整合)

SpringBoot:有启动器,整合了某项技术的所有,为我们快捷搭建和使用某个技术。

Spring启动器

springMVC启动器

mybatis启动器

2.入门案例:联网搭建SpringBoot入门框架

为什么要学习SpringBoot,?? 带你快速入门详解

为什么要学习SpringBoot,?? 带你快速入门详解

为什么要学习SpringBoot,?? 带你快速入门详解

网段卡就会出现:

为什么要学习SpringBoot,?? 带你快速入门详解

3.需求2:SpringBoot访问控制器

需求说明

浏览器输入:hello/run1

发送run1请求给controller,controller处理请求

(控制台打印:我是run1)

因未处理JSP,可能会看到异常信息,异常信息先不处理,看到打印上述效果即可

分析及代码实现

  1. 引入SpringBoot中springMVC的启动器
  2. 创建控制器,编写控制器方法
  3. 执行

pom.xml

<!-- 支持 web项目 --> <dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-web</artifactId> </dependency>

HelloController

@Controller @RequestMapping("/hello") public class HelloController {     @RequestMapping("/run1")     public String run1(){         System.out.println("我是run1");         return "";     } } 

总结:

pom:

为什么要学习SpringBoot,?? 带你快速入门详解

导入了某个技术的启动器,就相当于导入了这个技术的所有。

启动器:

/**  * SpringBootApplication注解:  * 1、标明当前是一个SpringBoot项目  * 2、标明当前类是一个SpringBoot的启动类  * 3、设置自动扫描 相当于ComponentScan。  *           扫描路径是 启动器类所在的包,及该包下的所有  */ @SpringBootApplication public class Day07Sp1Application {     /**     * SpringApplication.run     * 参数一:将当前类的字节码文件传入方法,用来执行当前类上的SpringBootApplication注解     * @param args     */    public static void main(String[] args) {       SpringApplication.run(Day07Sp1Application.class, args);    }  } 

为什么要学习SpringBoot,?? 带你快速入门详解

4.需求3:跳转JSP

需求说明

在上一个案例基础上,

访问run2方法,run2方法跳转到run2.jsp,并通过传递信息:

msg=”run2方法”

信息在run2.jsp上使用<h1>标签进行展示

环境搭建:webapp目录

为什么要学习SpringBoot,?? 带你快速入门详解

分析及实现

  1. 先编写控制器代码
  2. 再编写JSP代码

HelloController

@RequestMapping("/run2") public String run2(HttpServletRequest request){     System.out.println("我是run2");     request.setAttribute("msg","我是run2");     //springBoot中,springMVC默认没有设置视图解析器     return "forward:/run2.jsp"; } 

run2.jsp

<h1>${msg}</h1>

5.代码问题及解决

问题:

SpringBoot没有JSP解析器,无法解析JSP,JSP就无法变成HTML展示给用户

解决:

为SpringBoot加入JSP解析器

Pom:

<dependency>     <groupId>org.apache.tomcat.embed</groupId>     <artifactId>tomcat-embed-jasper</artifactId> </dependency>
  • springBoot默认支持互联网项目,SpringBoot对传统项目的JSP支持力度不够。

六.无网络搭建:SpringBoot+多模块+继承框架

  • 1、无骨架创建父工程,删除src目录,引入pom.xml,修改项目名,检查打包方式是否为pom

为什么要学习SpringBoot,?? 带你快速入门详解

2、无骨架依次创建子工程:domain、dao、service

为什么要学习SpringBoot,?? 带你快速入门详解

3、骨架创建web子工程,创建java和resources目录,替换web.xml文件

为什么要学习SpringBoot,?? 带你快速入门详解

4、构建依赖,形成聚合关系

Dao依赖domain

Service依赖Dao

Web依赖service

5、向web子工程导入SpringBoot启动器和application.properties配置文件

6、设置模块启动默认位置(否则找不到webapp下的资源)【让SpringBoot启动器先启动一次】

为什么要学习SpringBoot,?? 带你快速入门详解

为什么要学习SpringBoot,?? 带你快速入门详解

7、依次拷贝domain、dao、service、web层代码

其中每个Dao需要加入@org.apache.ibatis.annotations.Mapper注解才能被注册给spring

为什么要学习SpringBoot,?? 带你快速入门详解

为什么要学习SpringBoot,?? 带你快速入门详解

注意:idea2017在service的Dao注入存在bug,不用理会

为什么要学习SpringBoot,?? 带你快速入门详解

8、去掉所有的.action后缀

   所有视图解析器改为:forward:/  后面追加.jsp

   动态SQL XML版改为注解版

为什么要学习SpringBoot,?? 带你快速入门详解

小结:

SpringBoot入门:更容易搭建、部署SSM环境。脚手架

启动器:集合了某项技术的整体。

SpringMVC启动器

Mybatis启动器

无网络、有网络

@SpringBootApplication:

1、标记当前项目为SpringBoot项目

2、标记当前类为SpringBoot启动器类

3、自动扫包。  替换@ComponentScan

自动扫描启动器类所在包,及该包下所有子包下的所有组件。

application.properties

看完恭喜你,又知道了一点点!!!

你知道的越多,不知道的越多! 

~感谢志同道合的你阅读,  你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!

注: 如果本篇有需要改进的地方或错误,欢迎大神们指定一二~~

潇洒哥, 程

关于作者: 潇洒哥

为您推荐