STS创建springboot工程的两种方法

方法一

1、 使用eclipse,而是使用STSspring tool suite)

2、 打开spring.io,进入https://start.spring.io/创建一个简单的spring boot工程

springboot再学习

3、自动生成的工程结构

springboot再学习

Pom文件

springboot再学习

Ymlproperties的区别

4、加入依赖

springboot再学习

5、书写controller

springboot再学习

springboot再学习

6、访问页面时出现错误

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Application启动类的位置不对.要将Application类放在最外侧,即包含所有子包 
原因:spring-boot会自动加载启动类所在包下及其子包下的所有组件.

方法二

右键 -》 new -》 spring stater project

springboot再学习

选中需要的依赖

springboot再学习

、构造并返回一个json

springboot再学习

@JsonIgnore注解不返回某个属性)

@JsonFormat注解时间格式化

@JsonInclude(Include.NON.NULL)(不返回null字段属性)

springboot再学习

Springboot热部署

使用devtools可以实现热部署(页面修改后会立即生效,这个可以在application.properties文件中配置spring.thymeleaf.cache=false来实现

Devtools会监听classpath下的文件变动,并会立即重启应用发生在保存时机重启的时候只是加载在开发的class,没有重新加载第三方的jar包,重启的时候比较快)

步骤

加入依赖

springboot再学习

步骤二

springboot再学习springboot再学习

配置application.properties文件(可以不用

 springboot再学习

资源文件属性配置

资源文件中的属性配置映射到实体类

1、加入(资源文件读取的)依赖

 springboot再学习

2创建一个资源文件(resource.properties

springboot再学习 

1、 创建一个Resource.java实体类

 springboot再学习

@configuration代表会引用资源文件

@propertysource资源文件的地址 claspath:属性文件名)

@configurationproperties(prefix=””)将前缀注入到属性中(要和资源文件中属性名前面路径相同)

2、 创建controller 注入实体类

3、 BeanUtil.copyproperties()通过反射将一个对象的值赋值个另外一个对象(前提是对象中属性的名字相同)

 springboot再学习

资源文件配置server

 springboot再学习

Springboot整合freemarker

1、加入freemarker依赖

 springboot再学习

2、配置application.properties文件

server.servlet.context-path spring.freemarker.template-loader-path不能同时配置,tomcat启动会报错

 springboot再学习

3、创建文件目录并在目录下创建center.ftl页面

 springboot再学习

springboot再学习

4创建FreemarkerController

不能@restcontroller注解,否则返回的不是一个页面而是字符串

 springboot再学习

5访问页面

 springboot再学习

freemarker后台向前台传值

1、 controller

 springboot再学习

 

2ftl页面获取值

springboot再学习 

Springboot整合thymeleaf

1、 引入thymeleaf模板依赖

 springboot再学习

2、 application.properties增加配置信息

 springboot再学习

3、创建目录html文件

 springboot再学习

 springboot再学习

4创建controller

 springboot再学习

5、 访问页面

 springboot再学习

Thymeleaf前台接收后台的值

1html页面(获取方法

 springboot再学习

2、 controller

 springboot再学习

Freemarkerthymeleaf

Thymeleaf常用标签的使用方法

表单   URL   textutext

Springboot 全局异常捕获

方法一页面跳转

springboot再学习不能加引号

注意error.html的文件路径

1、 创建异常的助手类

 springboot再学习

2创建一个发生异常的controller

 springboot再学习

3创建error页面

 springboot再学习

4访问页面

 springboot再学习

方法二:Ajax

 

根据判断请求头的X-Requested-With属性判断

String requestType = request.getHeader("X-Requested-With");

if("XMLHttpRequest".equals(requestType)){

    System.out.println("AJAX请求..");

}else{

    System.out.println("AJAX请求..");

    //此时requestTypenull

}

整合mybatis使用generator生成mapperpojo

1、 加入jar

 springboot再学习

 springboot再学习

2application中增加配置信息(serverTimezone不写会有问题)

 springboot再学习

加入生成文件及其启动类

4 在项目的目录下加入生成配置文件Utils中加入启动类

在utils包加入一个mymapper接口继承mappermysqlmapper

创建一个mapper

 springboot再学习

 springboot再学习


该接口不要放在启动类的子包下面

 springboot再学习

5、在启动类上加注解、注意导包

 springboot再学习

 springboot再学习

 

 

基于mybatis实现增删改查

Service seviceImpl controller

使用pageHelper进行分页

 springboot再学习

 springboot再学习

springboot再学习

 

自定义mapper查询(多用于多表查询

com.example.demo.mapper包下创建映射接口类

 springboot再学习

mapper下创建映射的xml文件

这两个文件通过<mapper namespace=””>关联

springboot再学习 

springboot再学习

serviceimpl中注入mapper接口

调用自己的方法即可

Springboot整合持久层事务

事物的隔离级别  事物的传播行为

增删改

 springboot再学习

 springboot再学习

 

Springboot整合定时任务

@Enablescheduling(启动类上添加)

@component(测试类上的注解)

@scheduledfixedrate=)(测试类中方法上的注解

@scheduledcron=””)表达式生成地址 cron.qqe2.com

Springboot异步执行程序

@EnableAsync开启异步,会自动扫描(启动类)

@copmonent @Async作为组件被容器扫描执行

异步取最大时间

同步是时间累加

使用场景发送短信 发送邮件 App消息推送 节省运维凌晨发布任务时间提供效率

Springboot拦截器使用

@configuration(表明这个类是个适配器)

继承WebMvcConfigurerAdapter

重写addInterceptors

 









相关文章:

  • 2021-08-23
  • 2021-09-12
  • 2021-12-19
  • 2021-08-09
  • 2021-06-26
  • 2022-02-17
  • 2021-12-27
  • 2021-07-07
猜你喜欢
  • 2021-07-13
  • 2022-02-26
  • 2022-12-23
  • 2021-09-14
  • 2021-10-07
  • 2021-12-30
  • 2022-01-01
相关资源
相似解决方案