# squirrel-springboot-demos **Repository Path**: zgxtech_admin/squirrel-springboot-demos ## Basic Information - **Project Name**: squirrel-springboot-demos - **Description**: 学习spring boot相关的例子,包括spring boot的依赖注入(DI)、Template、AOP相关方面。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-02-17 - **Last Updated**: 2022-06-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Spring Boot Dependency Injection 示例演示 要使用Spring Boot Dependency Injection需要配置注入依赖信息,有三种方式可以完成。 - 通过注解进行配置 - 通过编码方式,使用@Configuraiton的方式进行配置 - 通过bean xml配置文件形式配置 **(现代应用程序中很少使用这样方式)** > 注意事项 > 项目基于spring web的rest服务,测试请使用postman等api测试工具。相应的 postman api调用文件在项目更目录中。 ## 通过注解(Annotation)进行配置和装配 使用注解方式配置依赖注入信息一般可以涉及到以下几类标签。 - 用于把对象标注为bean对象的标签 以下标签由Spring boot框架 1. @Component 可以用于标注其他注解(元注解),它是@Service, @Controller, @Respository的注解标签。带有@Component的标签以及被它注解的标签@Service, @Controller, @Respository都将被组件扫描过程收集注册为bean对象。 2. @Service, @Controller, @Respository 它们在三成模式中带有特殊含义,分别代表服务组件、服务组件和持久化组件。 3. @Primary 在一个接口有多个实现的情况下,通过@Primary指定默认注入的接口实现类。 4. @Order 控制类的加载次序 5. Conditional Spring 4.0引入的条件注解,满足某个特定条件下创建特定的Bean。而我们实现的方式就是实现Condition接口。 - 用于指示需要依赖相应bean的标签 1. @Autowired 和 @Qualifier - 上面两各标签由Spring boot框架 - 通过类型查找bean并进行装配,如果和@Qualifier一起使用将使用名字的方式查找bean并装配,如果没有找到,将报错。 2. @Resource - 属于JDK提供的标签,位于javax.annotation.Resource, 最早实现的DI是作为JDK的一部分的。 - 默认用名字来查找bean并进行装配,如果查找失败,将回退到@Autowire通过类型查找并装配。 ### 第一个例子 我门将使用典型的三层为例子。将演示@Service、@Repository、@Controller以及@Autowires标签,如何配置和装配bean的。 例子位于 |-- squirrel-springboot-demos |----squirrel-springboot-di |-----di-demos-01 |------- config |------- controllers |------- daos |------- services |------- DiDemos01Aplication.java Postman api测试文件在 squirrel-springboot-demos文件下面。