本文不做详细介绍,只记录自己认为的关键点
1、关于Main函数的SpringApplication.run(sources, args);
(1)source参数支持单对象和数组,意味着如果有多个服务组建,可以使用数组注入,如:
public static void main(String[] args){
Object[] sources = new Object[]{SimpleController.class
,LoginController.class,LoginServiceImpl.class};
SpringApplication.run(sources, args);
}
(2)所有的组建都需要从这个方法中注入,否则其它依赖组建就无法找到,也就是必须通过 sources数组传入需要的所有组件( 注意,我并没有使用@@SpringBootApplication
注解,如果使用了,应该是不需要每个组件都传进去的,否则就太傻了);
(3)当使用注解时,就不需要在sources传入组建,只需要传入当前Main函数即可,可用的注解组合有:【@SpringbootApplication 】或 【@Configuration,@ComponentScan】
2、打包时maven插件:spring-boot-maven-plugin
(1)如果要打成可运行jar包,需要使用该插件,目的是将maven的jar包改造成可执行jar包;
(2)可以在项目根目录下的控制台直接通过:mvn spring-boot:run 运行,原理同tomcat插件;
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 可以通过该配置指定main函数路径,不配置时,自动从项目根目录扫描 -->
<mainClass>testmvn.testmvn.ApplicationMain</mainClass>
</configuration>
</plugin>
</plugins>
</build>