当前位置: 首页 > article >正文

【Spring】第二站:基于 <注解> 的方式实现Bean管理和注入管理

注解

1. 注解定义

①:注解是代码特殊标记,

        格式:

                @注解名称 (属性名称=属性值,属性名称=属性值...)

②:使用注解,注解作用在类上面,方法上面,属性上边

③:使用注解的目的:

                简化XML配置

2.Spring针对Bean管理中创建对象提供的注解

        @Component 普通的类

        @Controller 表现层

        @Service 业务层

        @Repository 持久层

*上边四个功能一样,都可以用来创建bean实例。

3.用注解的方式创建对象

1. Spring.xml

1> . 编写接口和实现类

public void run(){
        System.out.println("赶紧跑....");
    }

2>. 在需要管理的类上添加@Component注解

@Component
public class Demo {


    public void run(){
        System.out.println("赶紧跑....");
    }
}

3>. 编写配置文件,重点是开启注解扫描。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
   
    <!--开启注解扫描 com.qcby所有的包中的所有的类-->
    <context:component-scan base-package="com.qcby"/>
</beans>

编写测试方法

@org.junit.Test
public void test2(){
    ApplicationContext context=new ClassPathXmlApplicationContext("Spring.xml");
    Demo demo=(Demo)context.getBean("demo");
    demo.run();

2. Config纯注解方式

把Spring.xml文件删掉,不用Spring配置,直接注解创建对象也可以

定义一个Config文件

@Configuration//声明配置类
@ComponentScan(value = "com.qcby.service")
public class Config {
}

Demo类还是使用三个(Controller,Compoent,Service)

Test类测试:

@org.junit.Test
public void test2(){
    ApplicationContext context=new AnnotationConfigApplicationContext(Config.class);
    Demo demo=(Demo)context.getBean("demo");
    demo.run();

注意:这里引入类不加引号

4. 用注解的方式实现属性注入

@Value不用提供get/set方案

@Autowired将对象进行自动匹配置入

@Value 用于注入普通类型(String,int,double等类型)

@Autowired 默认按类型进行自动装配(引用类型)

@Qualifier 不能单独使用必须和@Autowired一起使用,强制使用名称注入

@Resource Java提供的注解,也被支持。使用name属性,按名称注入

        Spring框架刚一启动,就去扫描并且生成对象,之后把生成的对象放到bin容器(数组)中。随用随调。

加@Controller 注解,在刚开始Spring框架就生成了Cat对象

        然后,在这里注解Autowired,直接调用Cat对象。(因为value比较麻烦,所以不常用)

Test测试:

@org.junit.Test
public void test2(){
    ApplicationContext context=new AnnotationConfigApplicationContext(Config.class);
    Demo demo=(Demo)context.getBean("demo");
    System.out.println(demo.toString());


http://www.kler.cn/a/447302.html

相关文章:

  • clickhouse优化记录
  • 【自动化】Python SeleniumUtil 工具 开启开发者模式 自动安装油猴用户脚本等
  • mlr3机器学习AUC的置信区间提取
  • 关于小程序内嵌h5打开新的小程序
  • 数据结构漫游记:初识vector
  • SpringBoot开发——整合JSONPath解析JSON信息
  • 算法刷题Day23:BM60 括号生成
  • CSS学习记录18
  • 什么是事务?隔离级别
  • 嵌入式单片机中外设的基本控制与实现
  • 游戏开发技能系统常用概念
  • Kafka 迁移 AutoMQ 时 Flink 位点管理的挑战与解决方案
  • 基于Spring Boot的智慧农业专家远程指导系统
  • 如何使用 Python 连接 MySQL 数据库?
  • Websocket客户端始终连接不上Server排查之Openai Realtime api
  • 基于 STM32 的多路火灾报警系统设计
  • LeetCode hot100-91
  • 高性能MySQL-查询性能优化
  • 标准库与HAL库的区别
  • 常用的缓存技术都有哪些
  • CodeSurfer 介绍
  • 青少年编程与数学 02-004 Go语言Web编程 08课题、使用Gin框架
  • 雅思真题短语梳理(一)
  • 9596 回文数 存档40%
  • 使用Electron获取用户信息,监听程序打开,用户退出连接关闭程序【全代码,有图】
  • Redis应用缓存框架