<!-- 这个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>
在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>
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>
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); } }
在test目录下创建测试类,在类名上加@SpringBootTest注解,在测试类中还可以注入bean,Spring boot会完成自动注入。
@SpringBootTest public class UsersTest(){ @AutoWired private UserService service; @Test void testUser(){ ... } }
在pom.xml文件中,要首先添加parent父级依赖
<!-- 这个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>
在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>
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>
Spring boot项S目一般都有一个*Application.java的入口类,里面有一个main的方法,这是标准Java应用程序的入口方法。
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项目的配置注解,这也是一个组合注解
({ElementType.TYPE})
(RetentionPolicy.RUNTIME)
public @interface SpringBootConfiguration {
(
annotation = Configuration.class
)
boolean proxyBeanMethods() default true;
}
2、@EnableAutoConfiguration:启用自动配置,该注解会使Spring boot根据项目中依赖的jar包自动配置项目的配置项
3、@ComponentScan:默认扫描@SpringBootApplication所在类的同级目录以及它的子目录。
如果Spring boot项目中整合了SpringMVC,那么就需要添加一个注解@MapperScan,这个注解的作用是告诉容器dao包中的接口的路径,使得可以在运行时动态代理生成实现类并放入到容器中管理。
({"edu.nf.ch01.user.dao", "edu.nf.ch01.product.dao"})
public class TestApplication(){
public static void main(String[] args){
SpringApplication.run(TestApplication.class, args);
}
}
在resource目录中创建一个application.properties文件或者application.yml(推荐)文件,对项目的相关配置都可以在这个文件中配置。
在test目录下创建测试类,在类名上加@SpringBootTest注解,在测试类中还可以注入bean,Spring boot会完成自动注入。
@SpringBootTest
public class UsersTest(){
@AutoWired
private UserService service;
@Test
void testUser(){
...
}
}
原文:https://www.cnblogs.com/zhangcaihua/p/12786427.html