微服务2-[springboot应用目录][全]

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36762677/article/details/83317185

springboot核心特性

  • 组件自动装配:WebMvc、WebFlux、JDBC
  • 嵌入式web容器:tomcat,jetty,undertower 使用java -jar可运行
  • 生产准备特性:指标,健康检查(磁盘,文件系统),外部化配置文件

自动装配解析:作者:说话的方式简单点丶


干货整理

前端

1.springboot整合thymeleaf 作者:橘子味的阳光

应用/工具

1.springboot整合定时任务 — 作者:橘子味的阳光

2.springboot整合邮件系统 — 作者:橘子味的阳光

3.springboot整合fastjson — 作者:橘子味的阳光

4.拦截器(切面,拦截器,过滤器) — 作者:橘子味的阳光

5. @Validated表单验证,AOP日志,全局异常处理 作者:橘子味的阳光

6.springboot生成全局唯一id — 作者:CodeSheep99

7.定时计划,定时任务调度 ----橘子味的阳光

8.日志框架1yml中配置2配置文件

Lommok(编译时处理语法树,增加字节码)

springboot+SLF4j(日志门面)+LogBack(日志实现)

logger.info("name{}",name);//其中{}为占位符

@Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在属性上,为属性提供 setting 方法
@Getter:注解在属性上,为属性提供 getting 方法
@Log4j :注解在类上,为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor:注解在类上,为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上,为类提供一个全参的构造方法

9. actuator监控

10. Http连接池

11. CommandLineRunner

Springboot用初始化后,去执行一段代码块逻辑
这段初始化代码在整个应用生命周期内只会执行一次。

12. Spring 应用监听事件Listener (启动引擎)


ORM

1.springboot整合mybatis(1.配置文件2.注解)

连接Mysql 作者:saytime
连接PostgreSQL

Mybatis执行sql https://blog.csdn.net/lv842586821/article/details/80581092

2.springboot整合jpa,hibernate — 作者:橘子味的阳光


[注解 目录]

1. @Transactional

事务注解

2. 处理请求注解

A、处理requet uri 部分(这里指uri template中variable,不含queryString部分)的注解: @PathVariable;
B、处理request header部分的注解: @RequestHeader, @CookieValue;
C、处理request body部分的注解:@RequestParam, @RequestBody;
D、处理attribute类型是注解: @SessionAttributes, @ModelAttribute;

@RequestParam(value="", required=true, defaultValue="")
用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容,提交方式GET、POST;
将请求参数绑定至方法参数
(1)value:请求参数名(必须配置)
(2)required:是否必需,默认为 true,即 请求中必须包含该参数,如果
没有包含,将会抛出异常(可选配置)
(3)defaultValue:默认值,如果设置了该值,required 将自动设为 false,
无论你是否配置了required,配置了什么值,都是 false(可选配置)
@RequestBody
该注解常用来处理Content-Type: 不是application/x-www-form-urlencoded编码的内容,例如application/json, application/xml等;

3. @ConditionalOnProperty

其中@ConditionalOnProperty是指在application.yml里配置的属性是否加载
https://blog.csdn.net/u010002184/article/details/79353696

4.@CrossOrigin

Spring Framework 4.2 GA为CORS提供了第一类支持,使您比通常的基于过滤器的解决方案更容易和更强大地配置它。所以springMVC的版本要在4.2或以上版本才支持@CrossOrigin

controller方法的CORS配置,您可以向@RequestMapping注解处理程序方法添加一个@CrossOrigin注解,以便启用CORS(默认情况下,@CrossOrigin允许在@RequestMapping注解中指定的所有源和HTTP方法)

其中@CrossOrigin中的2个参数:

origins : 允许可访问的域列表
maxAge:准备响应前的缓存持续的最大时间(以秒为单位)。

@CrossOrigin(origins = "http://domain2.com", maxAge = 3600)

5. 配置文件优先级

application.properties和application.yml文件可以放在一下四个位置:

外置,在相对于应用程序运行目录的/congfig子目录里。
外置,在应用程序运行的目录里
内置,在config包内
内置,在Classpath根目录

同样,这个列表按照优先级排序,也就是说,src/main/resources/config下application.properties覆盖src/main/resources下application.properties中相同的属性,此外,如果你在相同优先级位置同时有application.properties和application.yml,那么application.yml里面的属性就会覆盖application.properties里的属性。

6.@PropertySource

为了不破坏核心文件的原生态,但又需要有自定义的配置信息存在,一般情况下会选择自定义配置文件来放这些自定义信息,这里在resources目录下创建配置文件my-web.properties

com.name=testName
com.password=123
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
@PropertySource("classpath:/my-web.properties")
@ConfigurationProperties(prefix = "com")
public class ConfigBean {
    private String name;
    private String password;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

spring boot1.5以上版本@ConfigurationProperties取消了location需要用@PropertySource来指定自定义的资源目录。

prefix:指定配置文件中键名称的前缀(我这里配置文件中所有键名都是以web.开头)

7.@ManagedResource

https://blog.csdn.net/yaerfeng/article/details/28232435

展开阅读全文

没有更多推荐了,返回首页