springboot可以在类中使用@autowired注入抽象类吗_SpringBoot的基本配置:3*Annotation&全局配置文件&Starters...

Spring有7个核心注解:

1告诉别人自己是bean

声明Bean的注解如下。实际上,后四个注解的功能和第一个一致。但如果我们能够明确bean的层次,最好用后四种,这样代码可读性比较高。

   (1)@Component

    该注解是一个泛化的概念,仅仅表示一个组件对象(Bean),可以作用在任何层次上,没有明确的角色。

   (2)@Repository,对应MVC中的V

    该注解用于将数据访问层(DAO)的类标识为Bean,即注解数据访问层Bean,其功能与@Component()相同。

   (3)@Service,对应MVC中的M

    该注解用于标注一个业务逻辑组件类(Service层),其功能与@Component()相同。

   (4)@Controller,对应MVC中的C

    该注解用于标注一个控制器组件类(Spring MVC的Controller),其功能与@Component()相同。

注解2-4,是与MVC中的架构来对应的。

3cf604b56d5e7dddd3afbc2bd41bf099.png

(2)在一个bean中注入另外一个bean

bean注入一共有三个注解,三个的关系是(1)+(3)=(2)

   (1)@Autowired

    该注解可以对类成员变量、方法及构造方法进行标注,完成自动装配的工作。通过 @Autowired的使用来消除setter 和getter方法。默认按照Bean的类型进行装配。

   (2)@Resource

    该注解与@Autowired功能一样。区别在于,该注解默认是按照名称来装配注入的,只有当找不到与名称匹配的Bean才会按照类型来装配注入;而@Autowired默认按照Bean的类型进行装配,如果想按照名称来装配注入,则需要结合@Qualifier注解一起使用。

    @Resource注解有两个属性:name和type。name属性指定Bean实例名称,即按照名称来装配注入;type属性指定Bean类型,即按照Bean的类型进行装配。

   (3)@Qualifier

    该注解与@Autowired注解配合使用。当@Autowired注解需要按照名称来装配注入,则需要结合该注解一起使用,Bean的实例名称由@Qualifier注解的参数指定。

 Spring Boot应用通常都有一个名为*Application的程序入口类,该入口类需要使用Spring Boot的核心注解@SpringBootApplication标注为应用的启动类。

Spring Boot的核心注解@SpringBootApplication是一个组合注解,主要组合了:

  • @SpringBootConfiguration:@SpringBootConfiguration继承自@Configuration,二者功能也一致,标注当前类是配置类,

    并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中,并且实例名就是方法名。

  • @EnableAutoConfiguration:自动加载jar包依赖,只要在pom.xml中进行配置

  • @ComponentScan:自动扫描包中的配置。

@SpringBootConfiguration是SpringBoot应用的配置注解,该注解也是一个组合注解,源代码可以从spring-boot-2.1.4.RELEASE.jar依赖包中查看:org/springframework/boot/SpringBootConfiguration.java。在Spring Boot应用中推荐使用

@SpringBootConfiguration注解替代@Configuration注解。

 @EnableAutoConfiguration注解可以让Spring Boot根据当前应用项目所依赖的jar自动配置项目的相关配置。例如,在SpringBoot项目的pom.xml文件中添加了spring-boot-starter-web依赖,Spring Boot项目会自动添加Tomcat和Spring MVC的依赖,同时对Tomcat和Spring MVC进行自动配置。打开pom.xml文件,选择Dependency Hierarchy页面查看spring-boot-starter-web的自动配置,如下图所示。

52fe1a72ab950f31970aca89612ad43c.png

@ComponentScan注解:

    该注解的功能是让Spring Boot自动扫描@SpringBootApplication所在类的同级包以及它的子包中的配置,所以建议将@SpringBootApplication注解的入口类放置在项目包下(Group Id+Artifact Id组合的包名),这样可以保证Spring Boot自动扫描项目所有包中的配置。

SpringBoot的全局配置文件

    1.设置端口号

    使用全局配置文件主要用于修改项目的默认配置,如修改内嵌的Tomcat的默认端口。例如,在SpringBoot项目ch4_1的src/main/resources目录下找到名为application.properties的全局配置文件,添加如下配置内容:server.port=8888

    2.设置Web应用的上下文路径

    如果开发者想设置一个Web应用程序的上下文路径,可以在application.properties文件中配置如下内容:

    server.servlet.context-path=/123

4be4a57be004743307b5df6b20ee91c1.png

   这时应该通过“http://localhost:8080/123/testStarters”访问如下控制器类中的请求处理方法:

@RequestMapping("/testStarters")publicString index() {}

SpringBoot的Starters

    Spring Boot提供了很多简化企业级开发的“开箱即用”的Starters。Spring Boot项目只要使用了所需要的Starters,Spring Boot就可以自动关联项目开发所需要的相关依赖。例如,我们在ch4_1的pom.xml文件中,添加如下依赖配置:

<dependency>  <groupId>org.springframework.bootgroupId>  <artifactId>spring-boot-starter-webartifactId>dependency>

    Spring Boot将自动关联Web开发的相关依赖,如tomcat、spring-webmvc等,进而对Web开发的支持,并将相关技术的配置实现自动配置。

    通过访问https://docs.spring.io/spring-boot/docs/2.4.x/reference/htmlsingle/#using-boot-starter”官网,可以查看SpringBoot官方提供的Starters

bf7c67bf38d308933f3a05763833bf98.png

97e6287ab1704e6ab1a743d08da59e08.png

72211e1ec3d2df8596921c2b14455656.png

c2642089381d997bc82ed24a20bdb8a9.png

b027e030aaf9d04bf91da9982aad0d3e.png

5e1c6303863ab6d3010016178fdd559f.png

4c5839e662c3e9afeb42563aea04327c.png

7aa3c6915829a7358688063a4b253266.png

57044699f8b957511eeab65645493da1.png

2eb88d84b12b2c34a88fa0b626f07b29.png

e50f544acb6e95616e3fcb499826372d.png

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页