Springboot

一.SpringBoot

1.Spring Boot的主要优点:

  • 为所有Spring开发者更快的入门;
  • 开箱即用,提供各种默认配置来简化项目配置;
  • 内嵌式容器(Tomcat)简化Web项目;
  • 没有冗余代码生成和XML配置的要求;

2.回顾

1.回顾什么是Spring?
[Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson。]
Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。

2.Spring是如何简化Java开发的
为了降低Java开发的复杂性,Spring采用了以下4种关键策略:
1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean;
2、通过IOC,依赖注入(DI)和面向接口实现松耦合;
3、基于切面(AOP)和惯例进行声明式编程;
4、通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;
项目结构:
项目名->
lifecycle:
	clean: 清除;
	validate: ;
	compile: 编译;
	package: 打包;  [ ssm-> war包;  springboot-> jar包; ]
	verify: ;
	install: ;
	site: ;
	deploy: ;

1.1 常用注解

@SpringBootApplication: 标注这个类是一个springboot的应用

在@SpringBootApplication之上的注解:
@Configuration : //表示这是一个配置类,和以前编写的配置文件一样,也可以给容器中添加组件;

//启动指定类的ConfigurationProperties功能;
//进入这个HttpProperties查看,将配置文件中对应的值和HttpProperties绑定起来;
//并把HttpProperties加入到ioc容器中
@EnableConfigurationProperties({HttpProperties.class})

//Spring底层@Conditional注解
//根据不同的条件判断,如果满足指定的条件,整个配置类里面的配置就会生效;
//这里的意思就是判断当前应用是否是web应用,如果是,当前配置类生效
@ConditionalOnWebApplication(
type = Type.SERVLET
)

//判断当前项目有没有这个类CharacterEncodingFilter;SpringMVC中进行乱码解决的过滤器;
@ConditionalOnClass({CharacterEncodingFilter.class})

//判断配置文件中是否存在某个配置:spring.http.encoding.enabled;
//如果不存在,判断也是成立的
//即使我们配置文件中不配置pring.http.encoding.enabled=true,也是默认生效的;
@ConditionalOnProperty

@ConfigurationProperties(prefix = “person”): 将配置文件中[ 如yml文件 ]配置的每一个属性的值, 映射到这个组件中;

@Aspect: 标明切面;

1.2 SpringBoot自动装配原理

1、SpringBoot启动会加载大量的自动配置类

2、我们看我们需要的功能有没有在SpringBoot默认写好的自动配置类当中;

3、我们再来看这个自动配置类中到底配置了哪些组件;(只要我们要用的组件存在在其中,我们就不需要再手动配置了)

4、给容器中自动配置类添加组件的时候,会从properties类中获取某些属性。我们只需要在配置文件中指定这些属性的值即可;

xxxxAutoConfigurartion:自动配置类; -> 给容器中添加组件

xxxxProperties:封装配置文件中相关属性;

1.3 路径
"classpath:/META-INF/resources/",
"classpath:/resources/", 
"classpath:/static/", 
"classpath:/public/"
总结: 
1.在springboot中, 我们可以使用以下方式处理静态资源:
	webjars: localhost:8080/webjars/
	public, static, /** ,resources  localhost:8080/
2.优先级: resources 上传的文件; > static 静态资源,比如图片等; > public 公共资源,比如js等;

3./resources/templates -> 只能通过Controller访问;

二. Thymeleaf模板引擎⭐

[参考链接1: https://blog.csdn.net/qq_40693171/article/details/107008457]

[参考链接2: https://fanlychie.github.io/post/thymeleaf.html]

1.Java的常用模板引擎 :

  • Jsp;
  • Velocity;
  • Thymeleaf[非静态模板引擎] ; (springboot官方推荐方案)。
  • Freemarker[静态模板引擎] ;

2.简介: Thymeleaf 是一个服务器端 Java 模板引擎,能够处理 HTML、XML、CSS、JAVASCRIPT 等模板文件。Thymeleaf 模板可以直接当作静态原型来使用,它主要目标是为开发者的开发工作流程带来优雅的自然模板,也是 Java 服务器端 HTML5 开发的理想选择。

1.用法前缀: th:
常用:
th:src="@{/...}" ->

2.链接: @{}

3.取值1: ${}
 取值2(配置文件中的值): #{}或者[[#{}]];

1.引入Thymeleaf 命名空间: 
<html xmlns:th="http://www.thymeleaf.org">
    
2.注意: 因为 HTML5 规范是不允许使用th:*这些非标准属性的。HTML5 规范是允许data-*这样自定义的属性的。th:*和data-th-*这两个符号是完全等效且可以互换的。但为了简单直观和代码的紧凑性,本文采用th:*的表示形式。

3.
2.1 简单表达式
语法名称描述作用
${…}Variable Expressions变量表达式取出上下文变量的值
*{…}Selection Variable Expressions选择变量表达式取出选择的对象的属性值
#{…}Message Expressions消息表达式使文字消息国际化,I18N
@{…}Link URL Expressions链接表达式用于表示各种超链接地址
~{…}Fragment Expressions片段表达式引用一段公共的代码片段
2.1.1 ${…}
项目实际应用
<!--  替换用法解释——以下用于静态时加载当前链接,当有服务器时则Thymeleaf会主动替换以下链接!
      <th:block th:replace="admin/_fragments :: script">
      解释:  ①admin/_fragments ->指"路径/文件名";
            ②"::" 后连接fragment的模块名, 如此处的script  -->
<!--/*/<th:block th:replace="admin/_fragments :: script">/*/-->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.2/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/semantic-ui/2.2.4/semantic.min.js"></script>
<!--/*/</th:block>/*/-->

三.项目开发: SpringBoot开发小而美的个人博客

1.Spring Data Jpa使用

项目周期: 2022.4.12 - 2022.4.24

1.前端: 1-19: 4

2.后端: 20-47: 24(少23)

3.碰到的问题:

问题排查:

1.前端->查看异常

2.后端->控制台查看错误 -> 没有生效(可能没有引入对应的文件)!

1.在JPA中PO类上的Table注解红色错误提醒 [参考链接: https://blog.csdn.net/piaoniu_1985/article/details/105678032]

2.页面命名
list 详情页
add 新增页
update 更新页面

image-20220422194354313 image-20220422194452744

3.实体关系

image-20220423122526480

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2uzC9V96-1686703308671)(D:\MyAllCode\JavaCode_House\0_后端笔记\06_SpringBoot.assets\image-20220423125242376.png)]

插件:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XBVhA2JF-1686703308672)(D:\MyAllCode\JavaCode_House\0_后端笔记\06_SpringBoot.assets\image-20220425163549715.png)]

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值