自学Springboot第一天(快速入门)

SpringBoot的核心入口类和@SpringBootApplication

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 的属性值,来根据不一样的开发环境,指定使用哪个配置文件。

 

读取Xml 的配置文件

@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