SpringBoot笔记【自用

SpringBoot使用规则:

父模块继承:

SpringBoot程序的pom文件内会自带一个 spring-boot-starter-parent 父模块,该父模块下  属性  标签内含有所有的 版本,依赖管理下含有所有的可选依赖

起步依赖:(关键字starter)

添加起步依赖:

在dependency标签内添加含有starter的起步依赖,其内含了所需工程的全部依赖,比如web起步依赖,就内置了做web程序需要的所有依赖(甚至内含有tomcat的起步依赖),方便了开发

关于操作:

当需要切换依赖时(比如tomcat服务器切换成jetty服务器)

只需要在导入了tomcat起步依赖的 web starter 那个依赖内设置排除依赖(双重嵌套的excluson标签,内添加需要排除的那个依赖的groupid和artifactidt属性)

然后新添加对应的依赖即可

(关于tomcat和jetty依赖的一点区别:jetty更加轻便,随用随加,不过对于大型工程,还是tomcat更擅长)

修改SpringBoot访问的端口号:【三个方法的优先级:pro>yml>yaml】

方法1 . resources目录下的 application.properties 配置文件内,直接将 server.port 设置成 80 端口【server.port=80】

                                         server:

                          方法2【最常用】 . resources目录下新建application.yml,添加:                port: 80    配置

方法3 . 与方法2相同的配置方法,但是文件后缀改成 yaml

(原本是8080,修改后,地址栏不再需要填写8080)

注:                

在resources目录下新建config包,在包内进行端口配置,会优先于仅仅是在resources目录下配置

配置日志过滤级别:如下,不同的级别就在root后添加不同的过滤等级(info级别是默认的)

logging:                         l                  logging.level.root=info

                    level:                        l                                                        前者是yml风格的配置,后者是properties风格的配置

                           root: info         l 

关于yml后缀的文件:

格式:(注意冒号前的空格必不可少)

asp:

每一行首字母的位置表示了前后层级,首字母位置平行,代表了两行是同一级别的,空格的多少并没有影响             pst : 23

     sss : 00

   

arr :                

- 值

当使用数组时,

         - 值                像这样,每一个元素的前面添加一个减号即可

- 值

yml内数据的读取:

方法1:设置对应属性的变量,在变量上添加@Value注解,注解内"${}"形式获取数据

方法2:设置一个Environment类型变量,添加注解@Autowire,这个变量将会读取所有的yml数据,接下来对这个变量使用getProperty( ),括号内添加对应的属性名即可

pojo类读取yml文件内的数据:

1 . 在对应的pojo类上方添加@Component注解,定义为Bean,纳入Spring管理

2 . 添加@ConfigurationProperties注解,括号内为prefix属性添加需要读取使用的yml数据对应的标签

3 . 在需要使这个pojo类自动装配时,创建这个对象,添加@Autowire属性,这样这个对象内的变量和yml数组或者数据会根据 变量名和标签一一对应的规则进行自动装配

注:当对pojo自定义对象使用自动封装时,可能出现一个警告,这时在pom内添加以下注解

<dependency>

                                            <groupId>org.springframework.boot</groupId>

                                            <artifactId>spring-boot-configuration-processor</artifactId>

                                            <optional>true</optional>

                                </dependency>

基于yml的多环境开发:

配置多个端口号:server:         ,之间用前方不空格三个减号隔开,即可配置成多个互不干扰的环境

port :80

       ---

       server:

port :81

为了区分不同的环境,在每一个环境内添加 spring:profiles:自定义开发环境类型名(如:测试环境)【pro 生产 dev 开发 test 测试】

然后在配置好的环境上方,添加spring:profiles:active:想要使用的开发环境类型名,这样就会自动使用想要使用的开发环境类型了

springboot基于yml文件和pom文件实现多环境开发:

配置属性:

添加profiles标签,内置多个profile,每一个profile和一个开发环境对应

配置id和属性profile.active(自定义属性名)之后添加标签activation标签确定默认环境

例:

<profiles>

                                                <profile>

<id>pro</id>                                                    

                                                            <properties>

                                                                <profile.active>pro</profile.active>

                                                            </properties>

                                                            <activation>

                                                               <activeByDefault>true</activeByDefault>

                                                            </activation>

                                                </profile>

</profiles>

添加解析插件:

为了能让yml文件内使用 ${ }占位符 读取属性,在pom内添加插件:

在这个插件内将 configuration 内的 useDefaultDelimiters 标签设置为true,resources目录下的 ${ } 就可以被解析了

encoding内设置字符集UTF-8,防止可能出现的中文乱码问题

<plugin>

                                                <groupId>org.apache.maven.plugins</groupId>

                                                <artifactId>maven-resources-plugin</artifactId>

                                                <version>3.2.0</version>

                                                <configuration>

                                                           <encoding>UTF-8</encoding>

                                                            <useDefaultDelimiters>true</useDefaultDelimiters>

                                                </configuration>

                                            </plugin>

yml文件:

yml文件内正常配置三个环境以及对应的端口号,三个环境的上方添加 spring:profiles:active:${profileactive} 配置,这样就会根据这个属性读取对应的标签

打包运行:

配置完成后,点击右栏lifecycle 的 clear操作,清除之前的干扰因素,然后package打包成jar,从target目录下查找,然后在文件夹打开这个jar

地址栏直接cmd ,输入 java -jar jar包名 ,执行。

运行时需要更改开发环境类型(端口号):

以上指令后,添加 --spring.profiles.active=自定义的开发环境名,运行即可(停止运行使用ctrl + c)

以上指令后,添加 --server.port=XXX 临时执行 XXX端口的运行

修改环境:        

在resources下创建config包,包内的配置的执行 优先级 比resources下的 包外文件 高

当需要进行环境修改时,直接将需要的那个yml配置文件复制后,放在通过package打的 jar包所在的文件夹 内,呼出cmd,就会直接按照这个文件的环境进行设置

如果在jar所在文件夹内创建config文件夹,在文件夹内添加yml,这个优先级将是最高的(springboot的2.5.0和2.4.0版本内存在一个bug,那就是config文件夹内必须有一个其他的文件夹才能正常执行)

总结:(执行优先级)

jar文件夹内的config文件夹内的yml   >   jar文件夹内的yml   >   resources目录下的config内的yml   >   resources下的yml

SpringBoot整合junit:

在自动生成的测试类内直接创建对象并配置@Autowire标签,在@Test内直接调用对象的方法

原理:

Test类内的 @SpringBootTest 注解会自动解析 Java目录下的同层包下的引导类(创建工程时自带的Application启动类)

Application类内的@SpringBootApplication类内置了@SpringBootConfiguration注解【内置@Configuration注解】,这个注解将会使Spring扫描同包下以及各子包内的所有类,有@Service等的类就被扫描到了

SpringBoot整合mybatis框架:

因为Spring和SpringMvc的功能被SpringBoot替代了,所有只需要整合Mybatis框架

要点:

可以自行配置数据源依赖,然后在yml内进行数据源配置:

spring:datasource:下面是同级的driver,url,username,password,type(只有单独配置数据源时才有type,type的值是数据源【如:druid】)

Dao层接口需要配置@Mapper开启自动映射,自动创建实现类(之前有@ConponentScan注解进行扫描,现在没有了,需要配置@Mapper),Dao层内还是配置@Select等注解,以及对应的操作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MisakiMei释光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值