初识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配置。
常用注解
@SpringBootApplication(核心注解,用于开启自动配置) 注:自动配置的东西会很多,若想关闭某一项配置 @SpringBootApplication(exclude = {RedisAutoConfiguration.class}) 手动关闭Redis配置 @Configuration @ConditionalOnMissingBean(当容器里没有指定的Bean的情况下创建该对象) @AutoConfigureAfter(*.class)保证在括号内的类实例化完成之后在实例化该类,注解加在类上 注: @ResponseBody:两个作用,首先,将响应结果直接写入HTTP response body中,不会被解析为跳转路径;直接将响应结果以json形式返回; 启动应用通过main方法启动,启动类应在被扫描包的同级或上级包里
全局配置文件
application.properties 或 application.yml,可以放在resources目录下或者类路径下的/config下,一般是放到resources目录下的
比如:修改tomcat的端口为8088
server.port=8088,
更多的配置在文件里有参考Starter pom
个人理解为SpringBoot为我们提供了绝大多数的配置,放置在parent里面,应用的时候,根据具体的业务场景导入相应的依赖也就是Starter pom,就可以实现零配置使用默认配置好的bean,也可以在全局配置里修改默认的配置。
xml配置文件
可能有一些特殊要求必须使用xml配置,应用注解@ImportResource来加载xml配置
注:
在进行SpringApplication对象实例化的时候会加载META-INF/spring.factories文件,并将该配置文件载入到Spring容器
自定义配置
如:SpringMVC配置,比如增加一个拦截器,这个时候可以通过继承WebMvcConfigurerAdapter然后重写父类中的方法进行扩展。
事务的配置
在引入jdbc依赖之后,直接使用@Transactional注解即可,可加在类上,也可以加在方法上
注:内嵌的tomcat是不支持jsp页面的,因此应导入额外的包才能解决
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>