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,可能会看到异常信息,异常信息先不处理,看到打印上述效果即可
分析及代码实现
- 引入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
看完恭喜你,又知道了一点点!!!
你知道的越多,不知道的越多!
~感谢志同道合的你阅读, 你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!
注: 如果本篇有需要改进的地方或错误,欢迎大神们指定一二~~