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

 

SpringBoot入门

1.简述

为什么要学习SpringBoot:

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

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

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

Spring启动器

springMVC启动器

mybatis启动器

 

 

 

 

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

 

 

 

网段卡就会出现:

 

 

 

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

需求说明

浏览器输入:http://localhost:8080/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:

 

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

 

启动器:

/**
 * 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);
   }

}

 

 

 

 

 

4.需求3:跳转JSP

需求说明

在上一个案例基础上,

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

msg=”run2方法”

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

环境搭建:webapp目录

 

分析及实现

  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

 

 

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

 

 

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

 

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

Dao依赖domain

Service依赖Dao

Web依赖service

 

 

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

 

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

 

 

 

 

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

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

 

 

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

 

8、去掉所有的.action后缀

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

   动态SQL XML版改为注解版

 

 

 

 

小结:

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

 

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

SpringMVC启动器

Mybatis启动器

无网络、有网络

@SpringBootApplication:

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

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

3、自动扫包。  替换@ComponentScan

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

application.properties

 

 

 

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

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

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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值