springboot再学习

STS创建springboot工程的两种方法

方法一

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

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


3、自动生成的工程结构


Pom文件


Ymlproperties的区别

4、加入依赖


5、书写controller



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


选中需要的依赖


、构造并返回一个json


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

@JsonFormat注解时间格式化

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


Springboot热部署

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

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

步骤

加入依赖


步骤二

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

 

资源文件属性配置

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

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

 

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

 

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

 

@configuration代表会引用资源文件

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

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

2、 创建controller 注入实体类

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

 

资源文件配置server

 

Springboot整合freemarker

1、加入freemarker依赖

 

2、配置application.properties文件

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

 

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

 


4创建FreemarkerController

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

 

5访问页面

 

freemarker后台向前台传值

1、 controller

 

 

2ftl页面获取值

 

Springboot整合thymeleaf

1、 引入thymeleaf模板依赖

 

2、 application.properties增加配置信息

 

3、创建目录html文件

 

 

4创建controller

 

5、 访问页面

 

Thymeleaf前台接收后台的值

1html页面(获取方法

 

2、 controller

 

Freemarkerthymeleaf

Thymeleaf常用标签的使用方法

表单   URL   textutext

Springboot 全局异常捕获

方法一页面跳转

不能加引号

注意error.html的文件路径

1、 创建异常的助手类

 

2创建一个发生异常的controller

 

3创建error页面

 

4访问页面

 

方法二: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

 

 

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

 

加入生成文件及其启动类

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

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

创建一个mapper

 

 


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

 

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

 

 

 

 

基于mybatis实现增删改查

Service seviceImpl controller

使用pageHelper进行分页

 

 


 

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

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

 

mapper下创建映射的xml文件

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

 

serviceimpl中注入mapper接口

调用自己的方法即可

Springboot整合持久层事务

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

增删改

 

 

 

Springboot整合定时任务

@Enablescheduling(启动类上添加)

@component(测试类上的注解)

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

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

Springboot异步执行程序

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

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

异步取最大时间

同步是时间累加

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

Springboot拦截器使用

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

继承WebMvcConfigurerAdapter

重写addInterceptors

 









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值