文章目录
前言
Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架。
SpringBoot特征
SpringBoot所具备的特征有:
-
可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
-
内嵌Tomcat或Jetty等Servlet容器;
-
提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
-
尽可能自动配置Spring容器;
-
提供准备好的特性,如指标、健康检查和外部化配置;
-
绝对没有代码生成,不需要XML配置。
搭建一个SpringBoot环境
1、搭建maven环境
maven环境搭建可以看这一篇文章(https://www.runoob.com/maven/maven-setup.html)
2、创建maven项目(war、jar)
首先打开idea创建一个maven项目
1,maven-archetype-quickstart
默认的Archetype,基本内容包括:
一个包含junit依赖声明的pom.xml
src/main/java主代码目录及一个名为App的类
src/test/java测试代码目录及一个名为AppTest的测试用例
2,maven-archetype-webapp
一个最简单的Maven war项目模板,当需要快速创建一个Web应用的时候可以使用它。生成的项目内容包括:
一个packaging为war且带有junit依赖声明的pom.xml
src/main/webapp/目录
src/main/webapp/index.jsp文件
src/main/webapp/WEB-INF/web.xml文件
3、在pom.xml添加spring-boot-starter-web依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
spring-boot-starter-parent作用
在pom.xml中引入spring-boot-start-parent,它可以提供dependency management,也就是说依赖管理,引入以后在申明其它dependency的时候就不需要version了,后面可以看到。
spring-boot-starter-web作用
springweb 核心组件
4、写一个main方法,把程序跑起来
@RestController//相当于声明Controller - 提共restful 风格
@EnableAutoConfiguration//自动配置,不需要写spring的配置文件
class HelloController {
@RequestMapping("/hello")//映射路径
@ResponseBody//响应体
public String hello() {
return "Hello World";
}
public static void main(String[] args) {
//启动程序
SpringApplication.run(HelloController.class, args);
}
}
Freemarker的使用
1、引入freeMarker的依赖包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
2、写个控制器,并返回些数据
@Controller // 声明Rest风格的控制器,访问freeMarker不要用RestController
@RequestMapping("stu")
public class StudentController {
/**
* 返回 stu/list这里默认配置自动映射到 templages/stu/list
* */
@RequestMapping("list")
public String list(Model model){
model.addAttribute("username","gyf");
model.addAttribute("age",20);
List<Object> stuList = new ArrayList<>();
stuList.add(new Student(1001,"zhuangsan","男"));
stuList.add(new Student(1002,"lisi","男"));
model.addAttribute("stuList",stuList);
return "stu/list";// 找模板页面
}
}
3、创建.ftl模板文件
在src/main/resources/创建一个templates文件夹,后缀为*.ftl
掌握如何取值和判断
欢迎《${
username}》
<#if (age <= 18)>-小朋友
<#elseif (age > 30)>大叔
<#else >帅哥/美女
</#if>
登陆<br/>
学生列表<br/>
<table border="1">
<tr>
<td>ID</td>
<td>名字</td>
<td>性别</td>
</tr>
<#list stuList?sort_by("id")?reverse as stu>
<tr>
<td>${
stu.id}</td>
<td>${
stu.username}</td>
<td>${
stu.gender}</td>
</tr>
</#list>
springboot使用jsp
1、pom文件引入支持jsp依赖
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
2、application.properties创建视图配置(访问jsp的时候不需要.jsp)
spring.mvc.view.prefix=/WEB-INF/view/
spring.mvc.view.suffix=.jsp
3、控制器代码
@RequestMapping("list")
public String list(){
return "teacher/list";
}
public static void main(String[] args) {
SpringApplication.run(TeacherController.class,args);
}
springboot使用JDBC
1、添加依赖
<!-- JDBC -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
2、application.properties添加数据库配置
#数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/day12
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class