6
SpringBoot入门
1.简述
为什么要学习SpringBoot:
是spring全家桶基础知识,用来快捷整合其他框架(spring、springMVC、mybatis),开发效率更高。
没有代码生成,默认无需 XML 配置(可以和旧的xml配置整合)
SpringBoot:有启动器,整合了某项技术的所有,为我们快捷搭建和使用某个技术。
Spring启动器
springMVC启动器
mybatis启动器
2.入门案例:联网搭建SpringBoot入门框架
网段卡就会出现:
3.需求2:SpringBoot访问控制器
需求说明
浏览器输入:hello/run1
发送run1请求给controller,controller处理请求
(控制台打印:我是run1)
因未处理JSP,可能会看到异常信息,异常信息先不处理,看到打印上述效果即可
分析及代码实现
- 引入SpringBoot中springMVC的启动器
- 创建控制器,编写控制器方法
- 执行
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目录
分析及实现
- 先编写控制器代码
- 再编写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
看完恭喜你,又知道了一点点!!!
你知道的越多,不知道的越多!
~感谢志同道合的你阅读, 你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!
注: 如果本篇有需要改进的地方或错误,欢迎大神们指定一二~~