欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

搭建Spring Boot 各种功能组件(—)

程序员文章站 2022-03-09 08:13:12
...

1、引入maven配置

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.4.RELEASE</version>
    <relativePath/>
</parent>

<properties>
    <!--<start-class>com.css.spider.Application</start-class>-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>

2、

编写程序入口启动:

@SpringBootApplication
public class PlatformApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(PlatformApplication.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(PlatformApplication.class, args);
    }
}

3、集成Swagger2

手写Api文档的几个痛点:

  1. 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时。
  2. 接口返回结果不明确
  3. 不能直接在线测试接口,通常需要使用工具,比如postman
  4. 接口文档太多,不好管理

Swagger也就是为了解决这个问题

引入

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.6.1</version>
</dependency>

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.6.1</version>
</dependency>、

编写初始化bean

搭建Spring Boot 各种功能组件(—)

开启@EnableSwagger2注解

搭建Spring Boot 各种功能组件(—)

4、集成druid数据源

Druid是一个JDBC组件,它包括三部分: 

  • DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。 

  • DruidDataSource 高效可管理的数据库连接池。 

  • SQLParser 

Druid可以做什么? 

1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。 

2) 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。 

3) 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。 

4) SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。 

添加maven依赖
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.7</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.0.23</version>
</dependency>

配置文件中添加地址

搭建Spring Boot 各种功能组件(—)

创建bean

搭建Spring Boot 各种功能组件(—)

开启拦截监听

搭建Spring Boot 各种功能组件(—)

效果如下:

搭建Spring Boot 各种功能组件(—)

5、集成JavaMelody

Java性能监控的工具非常多,像JDK自带的JConsole、VisualVM以及各种Analyzer分析工具等,这些工具大部分只能分析CPU、内存、线程、堆栈。
JavaMelody 不仅可以能够分析CPU、内存,还可以对Java EE应用程序进行:用户Session数量、JDBC连接数、HTTP请求、SQL请求、JSP页面与业务接口方法(EJB3、Spring、
Guice)的执行数量,平均执行时间、错误百分比等分析,并以图表的方式显示,图表支持按天,周,月,年或自定义时间段查看。开发者分析性能的利器

引入

<dependency>
    <groupId>net.bull.javamelody</groupId>
    <artifactId>javamelody-core</artifactId>
    <version>1.73.1</version>
</dependency>

创建bean 搭建Spring Boot 各种功能组件(—)

效果如下:

搭建Spring Boot 各种功能组件(—)

相关标签: spring