SpringBoot

一.spring的缺点

  1. 可能会出现过渡压力:Spring 是一种轻量级的框架,但是如果应用程序的需求非常简单,Spring 的过多的复杂性可能会造成开发人员感觉不必要的过渡压力。

  2. 配置复杂:Spring 框架的配置比一些其它框架更加复杂,尤其是初学者可能需要花费一定的时间和精力来学习如何配置 Spring 应用程序。

  3. 运行时开销:虽然 Spring 对于轻量级应用程序而言是一个很好的选择,但是对于需要高性能的应用程序而言,Spring 的运行时开销可能会过高。

  4. 长期维护成本高:因为 Spring 框架有多个版本,而且不断在更新和改进,因此长期维护一个复杂的 Spring 应用程序可能会非常昂贵。

  5. 过多的依赖:Spring 框架的强大功能和灵活性取决于其庞大的库和依赖关系,但是这也可能导致应用程序变得过于复杂,不利于快速开发和迭代。

二.SpringBoot项目搭建

Spring Boot 是一款基于 Spring 框架的快速开发框架,它通过提供默认的配置、简化的依赖管理和自动化的配置等方式,降低了开发者在搭建环境、配置项目等方面的工作量。

以下是 Spring Boot 项目搭建的步骤:

  1. 安装 Java 开发环境,建议使用 JDK 1.8 及以上版本。
  2. 在 Maven 或 Gradle 中添加 Spring Boot 依赖。例如,使用 Maven,可以在 pom.xml 文件中添加以下依赖:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

该依赖用于创建 Web 应用程序,并包含 Spring MVC、Tomcat 等组件。

  1. 创建 Spring Boot 应用程序类。创建一个类,并在主方法中使用 @SpringBootApplication 注解来指定该类为 Spring Boot 应用程序,并启动它。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
  1. 创建控制器。在 Spring Boot 中,控制器使用 @RestController 注解定义,它会自动将返回值转换为 JSON 数据,并返回给客户端。
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloWorldController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello, world!";
    }
}
  1. 运行应用程序。使用 Maven 或 Gradle 中的命令打包应用程序,并使用 java -jar 命令启动它。例如,使用 Maven 命令:
$ mvn package
$ java -jar target/myproject-0.0.1-SNAPSHOT.jar

Spring Boot 会自动启动内嵌的 Tomcat 服务器,并运行应用程序。访问 http://localhost:8080/hello 即可看到返回的 “Hello, world!” 字符串。

以上就是 Spring Boot 项目搭建的基本步骤。开发者可以根据实际需求添加其他依赖,例如数据库访问、Spring Security 安全框架等。

三.代码生成器

Spring Boot中有许多代码生成器可以使用,其中比较流行的是MyBatis Generator和JHipster。这些代码生成器可以帮助您快速地创建基于数据库的Java应用程序。

以下是使用MyBatis Generator的步骤:

  1. 添加MyBatis Generator插件到pom.xml文件中。
<build>
  <plugins>
    <plugin>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-maven-plugin</artifactId>
      <version>1.3.5</version>
      <executions>
        <execution>
          <id>Generate MyBatis Artifacts</id>
          <goals>
            <goal>generate</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>
  1. 配置MyBatis Generator插件。创建一个名为generatorConfig.xml的文件,放置在src/main/resources目录下。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration 
  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 
  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
  <context id="default" targetRuntime="MyBatis3Simple" defaultModelType="flat">
    <!-- 数据库连接配置 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
      connectionURL="jdbc:mysql://localhost:3306/test"
      userId="root" password="root">
    </jdbcConnection>

    <!-- POJO生成器 -->
    <javaModelGenerator targetPackage="com.example.model" 
      targetProject="src/main/java"/>

    <!-- 映射文件生成器 -->
    <sqlMapGenerator targetPackage="com.example.mapper" 
      targetProject="src/main/resources"/>

    <!-- DAO生成器 -->
    <javaClientGenerator targetPackage="com.example.dao" 
      targetProject="src/main/java" type="XMLMAPPER"/>

    <!-- 表对应关系映射 -->
    <table tableName="user" domainObjectName="User"/>
  </context>
</generatorConfiguration>
  1. 运行MyBatis Generator插件。在终端中输入以下命令:
mvn mybatis-generator:generate

这将在指定的目标路径中生成相应的Java类和映射文件。

以上是使用MyBatis Generator生成代码的步骤。使用JHipster生成器也很类似,只需要安装JHipster,并按照文档中的说明操作即可。

四.日志

Spring Boot使用Logback作为默认的日志框架,并提供了一些方便的配置来帮助我们使用它。

首先,在pom.xml文件中,添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 支持日志输出的 web 模块 -->
</dependency>

接下来,在application.properties文件中配置日志相关的信息,例如:

logging.level.root=info  # 根目录下的日志级别为 INFO
logging.file=myapp.log  # 日志文件名为 myapp.log

然后,在代码中使用日志的方式可以有两种:

  1. 使用注解:

    @Slf4j
    public class MyService {
        public void myMethod() {
            log.info("This is a message.");
        }
    }
    

    这里使用的是 Lombok 提供的 @Slf4j 注解,它会自动给类添加一个名为 log 的成员变量,并且根据类的名字自动生成 Logger 对象。

  2. 直接创建 Logger 对象:

    public class MyService {
        private static final Logger logger = LoggerFactory.getLogger(MyService.class);
        public void myMethod() {
            logger.info("This is a message.");
        }
    }
    

    这里使用的是 SLF4J 提供的 LoggerFactory 类,通过 getLogger() 方法创建 Logger 对象。

以上就是 Spring Boot 中使用日志的基本方法,更多的配置和用法可以在官方文档中查阅。

五.日期转换

在Spring Boot中,日期转换是通过使用注解来实现的。以下是一些常见的日期转换注解:

  1. @DateTimeFormat:该注解用于指定日期格式。

例如,如果需要将字符串转换为日期类型,则可以使用以下代码:

@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date birthday;
  1. @JsonFormat:该注解用于将日期转换为JSON格式。

例如,如果需要将日期类型转换为JSON字符串,则可以使用以下代码:

@JsonFormat(pattern = "yyyy-MM-dd")
private Date birthday;
  1. @Temporal:该注解用于将日期类型映射到JPA实体中。

例如,如果需要将日期类型映射到数据库的DATE类型,则可以使用以下代码:

@Temporal(TemporalType.DATE)
private Date birthday;

以上是一些常见的日期转换注解,在使用时根据具体需求选择合适的注解即可。

六.接口文档

Spring Boot提供了许多用于生成接口文档的工具,例如Swagger、Springfox等。

以下是使用Swagger生成接口文档的步骤:

  1. 添加依赖

pom.xml文件中添加以下依赖:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>${springfox.version}</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>${springfox.version}</version>
</dependency>

其中${springfox.version}为Swagger的版本号,可以根据需要进行更改。

  1. 配置Swagger

在Spring Boot的配置类中添加以下代码:

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket docket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                .paths(PathSelectors.any())
                .build();
    }
}

其中,RequestHandlerSelectors.basePackage()指定需要生成文档的Controller所在的包名,可以根据需要进行更改。

  1. 启动应用程序

在程序启动后,访问http://localhost:8080/swagger-ui.html即可查看接口文档。

以上步骤便是使用Swagger生成接口文档的简单过程。当然,Swagger还有其他功能,如自定义文档标题、描述、响应模型等,可以根据需要进行配置。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值