IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java-SpringBoot -> 正文阅读

[Java知识库]Java-SpringBoot

一、SpringBoot特点

  • SpringBoot项目不需要模板化的配置。
  • SpringBoot中整合第三方框架时,只需要导入相应的starter依赖包,就自动整合了。
  • SpringBoot默认只有一个.properties的配置文件,不推荐使用xml,后期会采用.iava的文件去编写配置信息。
  • SpringBoot工程在部署时,采用的是jar包的方式,内部自动依赖Tomcat容器,提供了多环境的配置。
  • 微服务框架SpringCloud需要建立在SpringBoot的基础上。

二、创建工程

1、点击参考另外一篇笔记内容(构建项目时需要联网)

2、目录结构:

  • pom.xml
  • .gitignore

-src

? ?-main

? ? ? -java
? ? ? ? ?-包名
? ? ? ? ? ? 启动类. java? ? ? ? ?#需要将controller类,放在启动类的子包中或者同级包下
? ? ? -resources
? ? ? ? ?-static? ? ? ? ? ? ? ? ? ? ? #存放静态资源的
? ? ? ? ?-templates? ? ? ? ? ? ? #存储模板页面的
? ? ? ? ?application. properties? ? #SpringBoot提供的唯一的配置文件
? ? ? ? ?-test? ? ? ? ? ? ? ? ? ? ? ? ? ?#只是为了测试用的

3、SpringBoot三种启动方式

  • 运行启动类的main方法即可运行SpringBoot工程
  • 采用maven的命令去运行SpringBoot工程? ?mvn spring-boot:run
  • 采用jar包的方式运行:将当前项目打包成一个jar文件,通过java -jar jar文件。

三、常用注解?

1、@Configuration和@Bean

  • @Configuration代表当前类是一个配置类
  • @Bean构建一个实例,放到spring容器中

2、@SpringBootApplication

  • @SpringBootConfiguration就是@Configuration注解,代表启动类就是一个配置类。
  • @EnableAutoConfiguration实现自动装配
  • @ComponentScan扫描注解

四、常用配置

1、配置文件格式

SpringBoot的配置文件支持properties和yml,还支持json,推荐使用yml。

  • yml文件,会根据换行和缩进帮助管理配置文件所在位置。
  • yml文件,相比properties更轻量级一些
  • 严格遵循换行和缩进
  • 在填写value时,一定要在:后面跟上空格

2、多环境配置?

#在application.yml文件中添加一个配置项
spring:
profiles:
active: 环境名

java -jar . \first-springboot-0.0.1-SNAPSHOT.jar --spring.profiles.active=环境名

#在resource目录下,创建多个application-环境名.yml文件即可

3、如何引入外部配置文件信息?

@Value("${picPath}")
private String picPath;
@ConfigurationProperties(prefix = "aliyun")
@Compogent
@Data
public class AlivunProperties {
private String XXX;
}

热加载?

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-bopt-devtools</artifactId>
  <optional>true</optional>
</dependency>

File->Seting->Compiler->Build勾选

五、SpringBoot整合Mybatis

(一)XML整合Mybatis

1、导入XML

<!--mysql驱动-->
  <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
<!--druid连接-->
  <dependency>
            <groupId>com. alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>
<!--mybatis依赖-->
  <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.0</version>
        </dependency>

?2、编写配置文档

  • entity-->POJO实体类(注意要?implements Serializable)
  • 准备Mapper接口:mapper-->public interface 接口名-->写一个方法,同时主函数中扫描此接口
@MapperScan(basePackages="com.qf.firstspringboot.mapper(接口所在文件夹)")
  • 准备映射文件:resources-->mapper-->接口名.xml-->
<?xml version="1.0" encoding="UTF-8"?>
<! DOCTYPE mapper
         PUBLIC"-//mybatis.orgl/DTD Mapper 3.0//EN"
         "http: //mybatis.org/dtd/mybatis-3-mapper. dtd">
<mapper namespace="com.mapper.AirMapper">
    <select id="findAll" resultType="Air">
             select * from air
    </select>
</mapper>

驼峰映射:yml-->

# mybatis配置
mybatis:
 #扫描映射文件
  mapper-locations: classpath:mapper/*.xml
 #配置别名扫描的包
  type-aliases-package: com.entity
  configuration:
 #开启驼峰映射配置
    map-underscore-to-camel-case:true

#查看sql语句
logging:
  leve1:
    com.mapper: DEBUG


#连接数据库的信息
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbe:mysql:///air?serverTimezone=UTC
    username : root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource

测试:接口右键-->go to-->test-->

class AirMapperTest extends FirstSpringbootApplicationTests {
   
   @Autowired
   private AirMapper airManper;
  
   @Test
   void findAll(){
        List<Air> list = airMapper.findA11();
        for (Air air : list){
            System. out. println(air) ;
        }
    }
}

(二)注解方式整合Mybatis

@lnsert@Delete@Update@Select

需要在启动类中添加@MapperScan注解

public interface DistrictMapper {

    @Select ("select * from district)
    List<District> findAll() ;

    @Select("select * from district where id =#{id})
    District findOneById (@Param("id") Integer id) ;
}

?(三)SpringBoot整合分页助手

1、导入依赖

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.13</version>
</dependency>

2、测试使用

@Test
 public void findByPage(){
   //1.执行分页
   PageHelper.startPage(pageNum: 1,pageSize:5);
   //2.执行查谶
   List<Air> list = airMapper. findAll() ;
   //3.封装PageInfo对象
   PageInfo<Air> pageInfo = new PageInfo<>(list) ;
   //4.输出
   for (Air air : pageInfo.getList()) {
      System. out. println(air);
}

六、SpringBoot整合JSP

1、导入依赖(https://mvnrepository.com/

<!--JSP核心引擎依赖-->
<dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

<!--JSTL-->
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactld>jstl</artifactId>
<dependency>

2、创建webapp(mian下)以及WEB-INF(webapp下)存放JSP页面并指定view的前缀和后缀

//Controller
@Controller
public class JspController {
   @GetMapping("/index")
   public String index () {
   return "index";
}
<!--yml-->
spring:
  mvc:
  #视图的前缀和后缀view:
    prefix:/WEB-INF/
    suffix: .jsp
<%@ page import="java.util.*" contentType="text/html; charset=UTF-8"%>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>${name}</h1>
</body>
</htm1>
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:18:51  更:2022-10-17 12:22:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/30 14:08:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码