一个starter就是一个开发场景的支持(依赖+配置)
一个starter依赖表示的不是一个依赖,而是某种开发环境所需的一组依赖
- SpringWeb---- spring-boot-starter-web(创建项目时选择的web依赖)
- Mybatis framework---- mybatis-spring-boot-starter(创建项目时选择的mybatis依赖)
一个starter不仅包含所需依赖,还包含相对应的配置
- MyBatis framework----mybatis-spring-boot-starter
- 依赖(随机取得一个依赖)
- 配置(随机取得一个依赖的配置)
点进去就是代码配置源码:
- 依赖(随机取得一个依赖)
引入redis开发场景
- pom.xml添加redis依赖
- 然后在service层@Resource自动注入stringRedisTemplate模板,发现可以注入,说明确实依赖和配置都进来了。
- 看一下依赖和配置是否加进来
- 依赖
- 配置
- 依赖
说明在SpringBoot中,只要加了starter依赖,它就会自己将其他依赖和配置都加载进来!
- pom.xml中继承springboot-starter-parent.pom
- 引入了maven对SpringBoot应用支持的插件spring-boot
- pom.xml中没有继承springboot-starter-parent.pom,因此版本需要在当前pom中定义
所以它下面的依赖中,如果没有表明版本,也就是代表默认的下列代码,写不写都可以。
${spring-boot.version}
如果不想继承2.3.7版本的话,直接自己
1.2.3 两者最大区别${版本号即可}
ali的没有进行一个继承,而spring实现了一个继承。
1.3 Java配置方式1.3.1 Spring版本发展如果我们需要在SpringBoot应用中整合一个新的开发场景,只需要在pom.xml中添加一个starter依赖组即可
一个starter包含依赖+配置,starter中包含的配置都是通过java类实现的–Java配置方式
Spring版本的迭代,其配置方式也变化
Spring配置方式:xml、注解、java配置
-
Spring 1.x(太古老,没用过)
- 所有的bean的配置只能通过xml方式
-
Spring 2.x
- 基于JDK1.5对注解的支持,开始支持注解
- 企业开发中xml方式、注解方式如何取舍
- 对基础配置、引用的第三方依赖中的配置使用xml完成:例如数据的配置
- 业务开发使用注解:例如controller、service
-
Spring 3.x
- Spring开始提供基于Java配置方式
1.3.3 注解配置
@Component (把普通pojo实例化到spring容器中,相当于配置文件中的 )
@Repository (实现dao访问)
@Service (注入dao)
@Controller (注入服务service)
下面只做实体类层的演示
@Component
public class Student{
...
}
1.3.4 Java配置方式
创建配置类
@Configuration
public class Student{
//通过这种方式,获得Spirng的依赖注入
@Bean
public Date getDate(){
return new Date();
}
}
1.3.5 注解和java方式区别
-
使用注解的方式,那么你需要在Serivce层,DAO层的时候,需要在类上进行注解,就可获得spring的依赖注入。
-
使用java配置的方式,那么就不需要在类上写注解了,直接在配置类里面进行申明即可:
上面两个代码显示的很清楚。
这两种方式没有什么所谓的优劣之分,主要看使用情况,一般来说是这样:
- 涉及到全局配置的,例如数据库相关配置、MVC相关配置等,就用JAVA配置的方式
- 涉及到业务配置的,就使用注解方式.
扫描到所有配置类之后,并不会全部初始化,而是要满足配置类上面的条件;满足的话,就可以初始化,只要初始化了,spring中就有对象了,项目中就可以用了。
SpringBoot针对不同的开发场景提供默认的属性配置,如果默认的配置不能满足开发的需要,我们需要对属性配置进行修改。
- SpringBoot应用提供了一个全局配置文件application.properties用于自定义配置
- 全局配置文件支持2种语法配置
- properties键值对配置
- yaml/yml语法的配置



