Spring Boot的项目通常都会有*Application的入口类,入口类中会有main方法,这是一个标准的Java应用程序的入口方法。html
@SpringBootApplication 注解是SpringBoot的核心注解前端
它实际上是一个组合注解:@SpringBootConfiguration (替代@Configuration) + @EnableAutoConfiguration + @ComponentScanweb
@EnableAutoConfiguration 注解是启用自动配置,该注解会使SpringBoot根据项目中依赖的jar包自动配置项目的配置项,还能够关闭某一项的自动配置从而本身手动配置。spring
好比:咱们不想自动配置Redis,想手动配置 @SpringBootApplication(exclude = {RedisAutoConfiguration.class })sql
@ComponentScan:默认扫描@SpringBootApplication所在类的同级目录以及它的子目录中的全部注解。docker
1.设置spring boot的parent (pom.xml文件)数据库
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent>
2. 导入spring boot的web支持浏览器
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
3. 编写第一个Spring Boot的应用tomcat
@RestController //这个注解是个组合注解,等于 @Controller + @ResponseBody springboot
@SpringBootApplication
public class HelloApplication {
@GetMapping("hello")
public String hello(){
return "hello world!";
}
public static void main(String[] args) {
SpringApplication.run(HelloApplication.class, args);
}
}
4. 运行main方法以后,直接在浏览器访问 127.0.0.1:8080/hello
Spring Boot项目使用一个全局的配置文件application.properties或者是application.yml,在resources目录下或者类路径下的/config下,通常咱们放到resources下。
可是在通常在实际开发中,因为在每一个开发环境中(开发、测试、生产)使用的配置会有一些细微的不一样,会定义多个.properties文件,根据application.properties文件中的 spring.profiles.active = dev 或者 test 或者 prod 的属性值,来根据不一样的开发环境,指定使用哪个配置文件。
@ImportResource ({"classpath:文件名.xml", " "}) 通常做用于配置类上(有@Congifuration注解的类)
server.context-path=*.html 修改进入DispatcherServlet(前端控制器,就是浏览器的url后缀)的规则为:*.html #springboot版本在2.0之后使用 server.context.path=*.html 属性时 要添加 spring.mvc.pathmatch.use-suffix-pattern = true 属性才会生效 server.port=8080 设置tomcat的端口号 #设置日志级别 logging.level.org.springframework(这里填写的是包名的路径) = DEBUG #数据库配置 spring.datasource.druid.driver-class-name=org.mariadb.jdbc.Driver spring.datasource.druid.url=jdbc:mariadb://11.111.1.111:3306/hsy spring.datasource.druid.username=root spring.datasource.druid.password=root # druid 数据库链接池配置(须要在pom.xml文件中导入druid-spring-boot-starter的依赖) # 初始化链接数 spring.datasource.druid.initial-size=5 # 最小链接数 spring.datasource.druid.min-idle=5 # 最大链接数 spring.datasource.druid.max-active=20 # 获取链接时最大等待时间,单位毫秒 spring.datasource.druid.max-wait=60000 # 配置间隔多久才进行一次检测,检测须要关闭的空闲链接,单位是毫秒 spring.datasource.druid.time-between-eviction-runs-millis=60000 # 配置一个链接在池中最小生存的时间,单位是毫秒 spring.datasource.druid.min-evictable-idle-time-millis=300000 # 用来检测链接是否有效的SQL spring.datasource.druid.validation-query=select 1 # 当空闲时,执行validationQuery检测链接是否有效 spring.datasource.druid.test-while-idle=true # 申请链接时执行validationQuery检测链接是否有效,true会下降性能 spring.datasource.druid.test-on-borrow=false # 归还链接时执行validationQuery检测链接是否有效,true会下降性能 spring.datasource.druid.test-on-return=false # 是否开启PSCache,支持Oracle、SQL Server、DB二、MySQL5.5+(含5.5) spring.datasource.druid.pool-prepared-statements=true spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20 spring.datasource.druid.filter.stat.enabled=true # 经过connectProperties属性来打开mergeSql功能;慢SQL记录,默认3秒 spring.datasource.druid.filter.stat.log-slow-sql=true spring.datasource.druid.filter.stat.merge-sql=true # mybatis Mapper mybatis.mapper-locations=classpath:mapper/**/*.xml #去除Json返回时的null值 spring.jackson.default-property-inclusion=non_null # 日志配置 logging.config=classpath:config/log4j2.xml # jpush配置 jpush.appKey=5198487c595b7726190a928a jpush.masterSecret=b863ac3e8842e7f3ce36b611 #token拦截器配置 video.excludePathPatterns=/deviceMgmt/*/equActivate #ftp 配置 ftp.host=11.111.1.111 ftp.user-name=docker_ftp ftp.password=123123