这里写目录标题
- 一、在学习spring Boot之前我们来回顾一下Spring
- 二、Spring Boot介绍
- 三、Spring Boot开发环境搭配
- 四、Spring Boot核心
- 五、Spring Boot添加模块
- 六、Spring Boot新注解介绍
一、在学习spring Boot之前我们来回顾一下Spring
首先说一下spring的优点:
spring是轻量级的, 非侵入式的, IOC(控制反转), AOP(面向切面编程)的, 一站式框架,
同时也有突出的缺点:
- 配置麻烦, 非常的模板化, 例如
打开管理事务注解啊
- 需要开发人员添加许多的依赖, 且依赖之间的版本不匹配
所以SpringBoot对Spring的两个缺点进行补充, 主要是对Spring框架搭建进行封装优化, 主要是换了一种方式进行配置, 将许多模板化配置直接整合了
二、Spring Boot介绍
Spring Boot是由Pivotal团队提供的在spring框架基础上开发的框架, 目的简化应用的初始搭建与开发过程
Spring Boot不提供Spring的框架的核心特性以及拓展功能, 只是用于快速灵敏的开发新一代的基于spring框架的框架, 可以快速的搭建, 并且集成其他框架与组件
即并不是来代替Spring, 而是与spring框架紧密结合提升Spring
在spring Boot中是约定大于配置
●SpringBoot特点:
- 创建独立的 spring 应用程序
- 直接内嵌 tomcat(一个项目就是一个服务, 就是微服务的思想)、jetty 和 undertow
- 提供了固定化的“starter”配置,以简化构建配置
- 尽可能的自动配置 spring 和第三方库
- 提供产品级的功能,如:安全指标、运行状况监测和外部化配置等
- 绝对不会生成代码,并且不需要 XML 配置
三、Spring Boot开发环境搭配
- 官网配置生成模板
网址https://start.spring.io/
选择完成点击Generate
2. 在线下载后, 解压修改pom.xml版本为2.6.6, 删除mvn文件夹, mvnw.cmd文件, 导入到idea里
解压, 打开文件
修改版本为2.6.6
删除mvnw.cmd文件与,mvn文件夹, 不然下载jar包就会默认到maven的中央仓库去下载
导入到idea里, 等待下载所欲jar包, 开发一个controller
开启内置服务器, 可以使用启动类的main方法来启动程序
在使用main方法启动springBoot程序之后, 可以看到有一个Spring的Logo图案, 该图案可以通过在线生成启动 logo来替换掉
https://www.bootschool.net/ascii
下载存放在 resources 目录下即可.
浏览器访问
不用再将项目部署到服务器, spring Boot直接把项目放进微服务器里了
四、Spring Boot核心
-
Spring Boot核心功能:
<1>起步依赖: 会把项目中使用到的相关组件自动依赖进来(json…)
<2> 自动配置: Spring Boot会根据项目里依赖的相关组件, 启动时, 创建并且初始化 -
Spring Boot的配置文件
Spring Boot使用一个全局的配置文件(文件名称是固定的),
<1>applocation.properties 内容是键值对格式
如: server:port=9999
<2>application.yml
语法结构: key: 空格 value
以此来表示键值对关系(空格不能省略), 以空格的缩进来控制层级关系, 只要左边对齐就是同一层级
K:空格 V
值如果是字符串就直接鞋, 不用加引号
这里错误, 应该是
server:
port: 9999
配置端口号是port : 9999
五、Spring Boot添加模块
<1><为了提供JdbcTemlate数据源对象
<2>提供事务管理的功能
- Spring Boot添加jdbc模块
1.1 首先要导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
1.2 在spring-boot配置文件里面, 配置数据库的连接信息, 生成默认的数据源对象, Template, 事务管理功能
测试
- springBoot 整合阿里数据源Druid
2.1 导入阿里数据源jar包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
2.2 在 yml 文件中注册阿里数据库连接池
type: com.alibaba.druid.pool.DruidDataSource
2.3 添加一个配置类, 用来生成DruidDataSource对象
/*
@Configuration 配置注解 表示此类是springBoot项目中一个配置类,sprngboot启动时会扫描
*/
@Configuration
public class DruidDataSourceConfig {
/*
@Bean == <bean id="" class=""> 作用在方法上,方法中会产生一个对象,最终把此对象交给spring容器
*/
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource druid() {
//创建DruidDataSource对象, 并从yml配置文件读取配置值, 赋值
DruidDataSource dataSource = new DruidDataSource();
//dataSource.setInitialSize();
return dataSource;
}
}
- springBoot 集成Mybatis
3.1 导入依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
3.2
在spring Boot配置文件里 配置mybatis
3.3业务逻辑类
dao层
@Repository
public interface LoginDao {
Admin login (Admin admin);
}
Loginmapper.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--
映射文件与操作接口绑定的
-->
<mapper namespace="com.jwq.news">
<select id="login" resultType="com.jwq.ssm.model.Admin">
select * from admin where account=#{account} and password=#{password}
</select>
</mapper>
service层
@Service
@Transactional
public class LoginService {
@Autowired
LoginDao loginDao;
public Admin login(Admin admin){
Admin a = loginDao.login(admin);
return a;
}
}
web层
@RestController
@RequestMapping(path = "/loginCtl")
public class LoginController {
@Autowired
JdbcTemplate jdbcTemplate;
@Autowired
LoginService loginService;
@Transactional
@RequestMapping(path = "/login")
public String test(){
loginService.login(new Admin());
System.out.println("hello ");
return "hello";
}
}
3.4在启动类上添加注解, 扫描接口所在的包生成代理对象
六、Spring Boot新注解介绍
项目 | Value |
---|---|
@SpringBootApplication | 是springboot中最核心的注解标签,触发类加载功能, 在启动时,回去加载类上加 |
@Configuration | 表示此类是springBoot项目中一个配置类,sprngboot启动时会扫描类上加 |
@Bean | 表示此方法会返回一个对象,将此对象获取放入到spring容器里面,**等同于xml里的方法上加 |
@ConfigurationProperties(prefix = “spring.datasource”) | 可以将application.xml文件中的内容读取到,且赋给相应属性方法上加 |
@ConfigurationProperties(prefix = “spring.datasource”) | 可以将application.xml文件中的内容读取到,且赋给相应属性方法属性上加 |