spring boot项目创建注意点整理

spring boot项目

1、创建

idea : new -> project -> Spring Initializr
创建后在跟目录会自动生成一个启动类DemoApplication .java

@SpringBootApplication
public class DemoApplication {

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

application.properties中手动增加配置

spring.application.name=demo-cmf
server.port=1234
server.tomcat.uri-encoding=UTF-8
// 主要由于pom引用了mybatis依赖,需增加以下配置 
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:oracle:thin:@//192.168.7.35:1521/orcl
spring.datasource.username=fm
spring.datasource.password=1

2、@SpringBootApplication : 核心注解,开启springboot的自动配置

由于我创建时pom文件引了mybatis依赖,所以
resources包下的application.properties中需要设置相关配置项才可正常启动,如果不想配置需要加上@SpringBootApplication
(exclude= {DataSourceAutoConfiguration.class})

  • @SpringBootApplication : 同级包或下级包去扫描实体类
    组合注解: @SpringBootConfiguration:表名类是一个配置项;
    @EnableAutoConfiguration:根据类路径中的jar包依赖为当前项目进行自动加载;
    @ComponentScan:扫描该类所在包下所有配置类(类上加了
    @Service @Controller @Component …),也可指定扫描的包或不需扫描的包

3、启动图片的设置

  • 修改
    原默认启动图标为spring boot ;如果需要修改图标,则在resources目录下创建banner.txt文件,然后把要输出的图标文字在 link 链接中转化为图案代码,再粘贴到banner.txt文件中,此时启动项目加载的就是自定义图案;
    在这里插入图片描述

  • 删除
    启动类代码修改为如下,则重新启动后不会加载启动图案


@SpringBootApplication
public class DemoApplication {
  public static void main(String[] args) {
    SpringApplicationBuilder builder = new SpringApplicationBuilder(DemoApplication.class);
    builder.bannerMode(Mode.OFF).run(args);
//    SpringApplication.run(DemoApplication.class, args);
  }
}

4、创建项目遇见的问题

  • SpringBoot 2.0.0.RELEASE版本问题
    版本更新前:上下文配置 : server.context-path=/demo-cmf
    版本更新后:上下文配置 : server.servlet.context-path=/demo-cmf
  • 上下文配置配置无效
    1、首先按上述创建spring initinalizr项目时我勾选了mybatis,cloud,oracle项目,其中cloud需要配合注册中心等一起使用,所以后续我删除了cloud相关的依赖。
    2、和spring官网demo的初始依赖比较,我缺少了spring-boot-starter、spring-boot-starter-web依赖,添加上这两个依赖后,项目从原来的Netty转为了Tomcat项目,启上下文配置有效了。
  • 熟悉各个依赖的作用后,创建spring boot,mybatis项目可以采用创建maven项目的步骤,然后手动创建启动类、配置类及配置pom依赖
    ** pom 依赖 **
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.3</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
	<dependency>
	      <groupId>org.springframework.boot</groupId>
	      <artifactId>spring-boot-starter</artifactId>
	</dependency>
	<dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>2.1.4</version>
    </dependency>
    <dependency>
      <groupId>com.oracle.database.jdbc</groupId>
      <artifactId>ojdbc8</artifactId>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.0.9</version>
    </dependency>
</dependencies>
 <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
 <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

** application.properties **

spring.application.name=demo-cmf
server.port=1234
server.servlet.context-path=/demo-cmf
server.tomcat.uri-encoding=UTF-8

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:oracle:thin:@//192.168.7.35:1521/orcl
spring.datasource.username=fm
spring.datasource.password=1

[^ 1] 实际项目开发中,可能会涉及多种环境,比如开发环境dev,生产环境prod,此时可以再加两个配置文件application-dev.properties或application-prod.properties

spring.profiles.active=prod  //代表以application-prod.properties文件配置为准
spring.profiles.active=dev  //代表以application-dev.properties文件配置为准

实际开发中可以解决,生产和开发环境数据库配置、端口号等不同的配置问题;

** Application.java **

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

启动完成后,最终效果:
在这里插入图片描述
小感想:
博客很早就开了但是一直都没怎么记录,习惯性用有道笔记记录心得,最近又开始看csdn了,主要是想多翻翻大佬的笔记多学习学习,也慢慢开始记录一下笔记吧。
虽然工作快三年,但工作中一直用的都是现有的框架,日复一日的在现有框架基础上开发新功能,维护旧功能。感觉公司需要的程序员就只要会设计会开发就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值