一、springboot框架
spring(IOC、DI、AOP)
springmvc(mvc架构 属于mvc架构的控制层 ) ----> 使用了spring思想
mybatis (jdbc封装,连接数据库 增删改查)
SSM(spring+springmvc+mybatis) 一堆配置文件
spring.xml---->mybatis.xml---->sqlMapper.xml
springmvc.xml
web.xml
自己配置tomcat
1、什么是springboot
其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
Spring Boot 以约定大于配置的核心思想,默认帮我们进行了很多设置,多数 Spring Boot 应用只需要很少的 Spring 配置。同时它集成了大量常用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),Spring Boot 应用中这些第三方库几乎可以零配置的开箱即用。
2、Spring Boot的主要优点
-
Create stand-alone Spring applications
-
创建独立Spring应用
-
-
Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
-
内嵌web服务器
-
-
Provide opinionated 'starter' dependencies to simplify your build configuration
-
自动starter依赖,简化构建配置
-
-
Automatically configure Spring and 3rd party libraries whenever possible
-
自动配置Spring以及第三方功能
-
-
Provide production-ready features such as metrics, health checks, and externalized configuration
-
提供生产级别的监控、健康检查及外部化配置
-
-
Absolutely no code generation and no requirement for XML configuration
-
无代码生成、无需编写XML
-
-
SpringBoot是整合Spring技术栈的一站式框架,SpringBoot是简化Spring技术栈的快速开发脚手架;
3、springboot核心注解
package com.hl.springboot1;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/*
@SpringBootApplication
是springboot项目的核心注解
是一个组合注解
底层包含很多子注解
@Target({ElementType.TYPE}) 当前注解使用的位置(类上,方法上,参数上)
@Retention(RetentionPolicy.RUNTIME) 保留策略 决定注解的生命周期 编译前 运行前 运行期间
@Documented 文档注解
@Inherited 表示当前注解可以被继承
@SpringBootConfiguration 创建IOC容器
@Configuration 创建IOC容器
@EnableAutoConfiguration springboot自动装配注解(最核心注解)
@AutoConfigurationPackage
@Import({AutoConfigurationImportSelector.class})
@ComponentScan 定义组件扫描的包(默认扫描当前项目启动类所在的包及其子包)
*/
@SpringBootApplication
public class Springboot1Application {
public static void main(String[] args) {
SpringApplication.run(Springboot1Application.class, args);
}
}
4、定义banner
5、springboot配置文件
.properties配置文件
key=value
.yml配置文件
使用 : 空格 回车 tab键 进行缩进
有多个配置文件,向激活特定配置文件,实现多个环境的切换
application-dev.yml
application-test.yml
application.yml
spring:
profiles:
active: dev
6、springboot 整合 jdbc
1)引入jar包
<!--mysql-->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<!--springboot整合jdbc的jar包-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
2)添加mysql连接的配置
application-dev.yml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/yan9
username: root
password: 123456
3)补全包结构,搭建web层和dao层(省略service)
javaBean类
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Dept {
private int deptId;
private String deptName;
private String loc;
}
web层
@RestController
@RequestMapping("/dept")
public class DeptController {
//调用dao层
@Autowired
private DeptDao deptDao;
@RequestMapping("/save")
public int save(Dept dept) {
return deptDao.save(dept);
}
}
dao层
public interface DeptDao {
public int save(Dept dept);
}
@Repository
public class DeptDaoImpl implements DeptDao{
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public int save(Dept dept) {
//调用jdbcTemplate封装好的方法执行新增
String sql = "insert into dept(dept_name,loc) values(?,?)";
//update 执行增删改
int num = jdbcTemplate.update(sql,dept.getDeptName(),dept.getLoc());
return num;
}
}
4)测试
http://localhost:8081/boot1/dept/save?deptName=技术部&loc=beijing
重点知识
1)springmvc的作用
2)springmvc的核心组件
3)springmvc的内部执行流程
4)@RequestBody注解的作用
5)mvc架构模式
6)properties和yml配置文件的区别