Note when going straight for success of Mr.Wang

0%

Spring Boot

初识Spring Boot

一. Spring的java配置方式

Spring4.x推荐的配置方式,可以完全替代xml配置, 常用注解:

@Configuration(作用于类上,相当于一个xml配置文件);
@Bean(作用于方法上,相当于xml配置中的bean标签)
@ComponentScan(basePackages = "配置类所在包")
@PropertySource(value="指定配置文件",ignoreResourceNotFound = true)
@Value("${key}")获取配置文件中的值
二. Spring Boot

  “习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,无需手动),项目独立运行(运行jar,内嵌Servlet容器),使用它可以不用或只需要很少的Spring配置。

  1. 常用注解

    @SpringBootApplication(核心注解,用于开启自动配置)
    注:自动配置的东西会很多,若想关闭某一项配置
    @SpringBootApplication(exclude = {RedisAutoConfiguration.class}) 手动关闭Redis配置
    @Configuration
    @ConditionalOnMissingBean(当容器里没有指定的Bean的情况下创建该对象)
    @AutoConfigureAfter(*.class)保证在括号内的类实例化完成之后在实例化该类,注解加在类上
    注:
    @ResponseBody:两个作用,首先,将响应结果直接写入HTTP response body中,不会被解析为跳转路径;直接将响应结果以json形式返回;
    启动应用通过main方法启动,启动类应在被扫描包的同级或上级包里
    
  2. 全局配置文件

      application.properties 或 application.yml,可以放在resources目录下或者类路径下的/config下,一般是放到resources目录下的

    比如:修改tomcat的端口为8088
    server.port=8088,
    更多的配置在文件里有参考

  3. Starter pom

      个人理解为SpringBoot为我们提供了绝大多数的配置,放置在parent里面,应用的时候,根据具体的业务场景导入相应的依赖也就是Starter pom,就可以实现零配置使用默认配置好的bean,也可以在全局配置里修改默认的配置。

  4. xml配置文件

      可能有一些特殊要求必须使用xml配置,应用注解@ImportResource来加载xml配置

    注:

      在进行SpringApplication对象实例化的时候会加载META-INF/spring.factories文件,并将该配置文件载入到Spring容器

  5. 自定义配置

      如:SpringMVC配置,比如增加一个拦截器,这个时候可以通过继承WebMvcConfigurerAdapter然后重写父类中的方法进行扩展。

  6. 事务的配置

      在引入jdbc依赖之后,直接使用@Transactional注解即可,可加在类上,也可以加在方法上

注:内嵌的tomcat是不支持jsp页面的,因此应导入额外的包才能解决
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
  </dependency>
-------------the end-------------