<!-- 这个parent是springboot的父级依赖, 它提供相关的starter的maven管理以及版本号管理,还有相关maven插件的公共配置 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent>
2、添加spring-boot-starter核心依赖和测试依赖
在dependencies中,添加spring-boot-starter核心依赖,并添加核心测试依赖
<dependencies> <!-- 这是springboot的核心starter,它将完成起步依赖,自动配置,日志,YAML配置等功能 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- 测试依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies>
3、添加properties属性配置
properties属性配置主要是存放依赖的版本号,可以自定义,相对于定义了一个变量
<properties> <!-- 指定jdk版本 --> <java.version>1.8</java.version> <!-- druid连接池版本 --> <druid.version>1.1.17</druid.version> </properties> <dependencies> <!-- alibaba开发的druid连接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <!-- 对应properties中的<druid.version> --> <version>${druid.version}</version> </dependency> </dependencies>
<!-- spring boot打包插件,主要将spring boot应用打包成jar文件或者war文件 --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
5、搭建入口类
Spring boot项S目一般都有一个*Application.java的入口类,里面有一个main的方法,这是标准Java应用程序的入口方法。
@SpringBootApplication public class TestApplication(){ public static void main(String[] args){ SpringApplication.run(TestApplication.class, args); } }
在main方法中执行的Spring Application的run方法,返回一个上下文的容器实例
public static void main(String[] args) { //SpringApplication的run方法返回一个上下文的容器实例 ApplicationContext context = SpringApplication.run(TestApplication.class, args); //从容器获取bean对象 UserService service = context.getBean(UserServiceImpl.class); service.say(); }
@SpringBootApplication注解是Spring boot的核心注解,它是一个组合注解,主要包含以下注解:
1、@SpringBootConfiguration:这是Spring boot项目的配置注解,这也是一个组合注解
@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Configuration public @interface SpringBootConfiguration { @AliasFor( annotation = Configuration.class ) boolean proxyBeanMethods() default true; }
2、@EnableAutoConfiguration:启用自动配置,该注解会使Spring boot根据项目中依赖的jar包自动配置项目的配置项
3、@ComponentScan:默认扫描@SpringBootApplication所在类的同级目录以及它的子目录。
如果Spring boot项目中整合了SpringMVC,那么就需要添加一个注解@MapperScan,这个注解的作用是告诉容器dao包中的接口的路径,使得可以在运行时动态代理生成实现类并放入到容器中管理。
@SpringbootApplication @MapperScan({"edu.nf.ch01.user.dao", "edu.nf.ch01.product.dao"}) public class TestApplication(){ public static void main(String[] args){ SpringApplication.run(TestApplication.class, args); } }
7、搭建测试环境
在test目录下创建测试类,在类名上加@SpringBootTest注解,在测试类中还可以注入bean,Spring boot会完成自动注入。
@SpringBootTest public class UsersTest(){ @AutoWired private UserService service; @Test void testUser(){ ... } }