目录
- 1. 通过DEBUG查看自动配置的组件
- 2. springboot启动图标修改
- 3. Lombok
- 4. devtools
- 5. 通过IDEA的Spring Initializr快速创建新项目
1. 通过DEBUG查看自动配置的组件
在resources/application.properties中添加如下,开启DEBUG功能:
debug=true
然后启动springboot应用,就可以看到DEBUG的日志。Positive表示生效,Negative表示不生效。如下所示:
============================
CONDITIONS EVALUATION REPORT
============================Positive matches:
-----------------AopAutoConfiguration matched:- @ConditionalOnProperty (spring.aop.auto=true) matched (OnPropertyCondition)AopAutoConfiguration.ClassProxyingConfiguration matched:- @ConditionalOnMissingClass did not find unwanted class 'org.aspectj.weaver.Advice' (OnClassCondition)- @ConditionalOnProperty (spring.aop.proxy-target-class=true) matched (OnPropertyCondition)
......省略部分......
Negative matches:
-----------------ActiveMQAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.jms.ConnectionFactory' (OnClassCondition)AopAutoConfiguration.AspectJAutoProxyingConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.aspectj.weaver.Advice' (OnClassCondition)
......省略部分......
Exclusions:
-----------NoneUnconditional classes:
----------------------org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfigurationorg.springframework.boot.autoconfigure.context.LifecycleAutoConfigurationorg.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfigurationorg.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfigurationorg.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration
2. springboot启动图标修改
下载百度的logo到resouces目录下,然后在resources/application.properties添加如下内容:
spring.banner.image.location=classpath:baidu.png
最后启动springboot应用。打印的日志如下,小图标已经改成百度了
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8 @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ &@@@@@@@@@@@@ :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@: @@@@* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ @@ @@@ &@ @@ @@@@ @@@@@@@@@@@@@@@@@@@@@@ @@ @@@@@@@@@@@@ @@@@@@@ @ @@@@ @@@@@@ @: @ @@@@@ @@ @@@@@o @@ @ @@@@ @o@@@@@@@@8 @ @@@& @@#&@@ @@ @@ @@@o @@@@@@@ @@ @ *@@@@@@ @ @ @@@ @@ @@ @@ @@ @@o @@ . 8&&&& @ @@@@8 @ @@@ @@@@@ o@@@@@ @@@o @@@@@@@ @@ @@ *@@@@@@ @ @@@@. @@@@o @@o @ *@@ 2022-11-03 14:47:18.614 INFO 10600 --- [ main] com.hh.springbootTest.MyApplication : Starting MyApplication using Java 11.0.15
......省略部分......
也可以使用配置spring.main.banner-mode=off
,对banner进行关闭
在线banner生成工具戳我
3. Lombok
Lombok是一个简化Java Bean开发的小工具。自动在编译时生成getter、setter等方法
还有Slf4j的日志注解
在pom.xml添加依赖
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency>
然后IDEA安装lombok插件(新版IDEA已集成)
lombok针对Java Bean的注解,常用的如下:
- @NoArgsConstructor:无参构造器
- @AllArgsConstructor:全参构造器
- @Data:getter、setter方法
- @ToString:toString方法
- @EqualsAndHashCode:hashCode方法
如果构造参数即不是无参构造,也不是全参构造,可以按常规方法定义构造器
package com.hh.springbootTest.myBean;import lombok.*;// 如果构造参数即不是无参构造,也不是全参构造,可以按常规方法定义构造器
@NoArgsConstructor // 无参构造器
@AllArgsConstructor // 全参构造器
@Data // getter、setter方法
@ToString // toString方法
@EqualsAndHashCode // hashCode方法
public class User {private String name;}
lombok针对日志的注解有@Slf4j
可以看到可以直接使用全参构造器,创建一个User类对象
package com.hh.springbootTest.myController;import com.hh.springbootTest.myBean.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@RestController
@Slf4j // 日志
public class HelloController {@RequestMapping("user")public User userName1(@RequestParam("name") String name) {log.info("======user的请求进来了======");// 可以直接使用全参构造器return new User(name);}}
访问http://localhost:8080/user?name=user1,效果如下:
同时也会打印如下的日志
......省略部分......
2022-11-03 15:12:18.809 INFO 31128 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-11-03 15:12:18.809 INFO 31128 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2022-11-03 15:12:18.810 INFO 31128 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms
2022-11-03 15:12:18.842 INFO 31128 --- [nio-8080-exec-1] c.h.s.myController.HelloController : ======user的请求进来了======
4. devtools
在pom.xml添加依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency>
然后修改代码,再在IDEA按CTRL + F9,进行项目的重新编译。devtools就会自动重新进行加载。修改就会自动生效
不需要按CTRL + F9的,有付费的Jrebel插件
5. 通过IDEA的Spring Initializr快速创建新项目
如下所示:
创建完项目,resources目录下的static是放CSS、JS静态资源的,templates是放html页面的