IOC操心Bean管理(基于注解方式)

1.什么是注解

(1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值…)

(2)使用注解,注解作用在类上面,方法上面,属性上面

(3)使用注解目的:简化xml配置

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

(1)@Component

(2)@Service

(3)@Controller

(4)@Repository

上面四个注解功能是一样的,都可以用来创建bean实例

3.基于注解方式实现对象创建

第一步 引入依赖

spring-aop-5.2.6.RELEASE.jar

或者

<dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>5.3.15</version>
</dependency>

第二步 开启组件扫描

<!--1.如果扫描多个包,多个包使用逗号隔开-->
<!--2.扫描包上层目录-->
<?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.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!--开启组件扫描--><!--1.如果扫描多个包,多个包使用逗号隔开--><!--2.扫描包上层目录--><context:component-scan base-package="com.atguigu.spring.testdemo,com.atguigu.spring.service"></context:component-scan></beans>

第三步 创建类,在类上面添加创建对象注解

package com.atguigu.spring.service;import org.springframework.stereotype.Component;//在注解里面value属性值可以省略不写
//默认值是类名称,首字母小写
@Component(value = "userService")//<bean id = "" class = ""/>
public class UserService {public void add(){System.out.println("service add");}
}

测试:

package com.atguigu.spring.testdemo;import com.atguigu.spring.service.UserService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestSpring5Demo1 {@Testpublic void testService(){ApplicationContext context = new ClassPathXmlApplicationContext("bean6.xml");UserService userService = context.getBean("userService", UserService.class);System.out.println(userService);userService.add();}
}

[Spring5]IOC容器_Bean管理注解方式_创建对象相关推荐

  1. [Spring5]IOC容器_Bean管理注解方式_注入属性@Autowired_@Qualified_@Resource_@Value

    基于注解方式实现属性注入 (1)@AutoWired:根据属性类型进行自动装配 第一步 把service和dao对象创建,在service和dao类添加创建对象注解 第二步 在service注入dao ...

  2. [Spring5]IOC容器_Bean管理XML方式_创建对象_set注入属性and有参构造注入属性

    IOC操作 Bean管理 什么是Bean管理 1.Bean管理指的是两个操作: a.Spring创建对象 b.Spring注入属性 2.Bean管理操作有两种方式 a.基于xml配置文件方式实现 b. ...

  3. [Spring5]IOC容器_Bean管理注解方式_完全注解开发

    完全注解开发 (1)创建配置类,替代xml配置文件 package com.atguigu.spring.config;import org.springframework.context.annot ...

  4. [Spring5]IOC容器_Bean管理注解方式_组件扫描配置细节

    开启组件扫描细节配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="ht ...

  5. [Spring5]IOC容器_Bean管理XML方式_外部属性文件

    IOC操作Bean管理(外部属性文件) 1.直接配置数据库信息 (1)配置德鲁伊druid连接池 (2)引入德鲁伊druid连接池依赖jar包 <!--直接配置连接池--><bean ...

  6. [Spring5]IOC容器_Bean管理XML方式_自动装配

    IOC操作Bean管理(xml自动装配) package com.atguigu.spring.autowire;public class Dept {@Overridepublic String t ...

  7. [Spring5]IOC容器_Bean管理XML方式_注入集合类型属性

    xml注入集合属性 1.注入数组类型属性 2.注入List集合类型属性 3.注入Map集合类型属性 (1)创建类,定义数组,list,map,set类型属性,生成对应set方法 package com ...

  8. [Spring5]IOC容器_Bean管理XML方式_注入其他类型属性

    xml注入其他属性 bean: package com.atguigu.spring;/*** 演示使用set方法进行注入属性*/ public class Book {private String ...

  9. [Spring5]IOC容器_Bean管理XML方式_p名称空间注入

    iii.第三种注入方式:p名称空间注入 bean: package com.atguigu.spring;/*** 演示使用set方法进行注入属性*/ public class Book {priva ...

最新文章

  1. codeforces 281A-C语言解题报告
  2. 无人车前轮转向参数校准分析
  3. oppo手机删了android怎么办,OPPO手机越用越卡?1删除这4个僵尸文件夹,流畅如新机...
  4. umijs 修改默认配置_UmiJS基础教程(2) 目录结构
  5. .xls和.xlsx 有什么区别?
  6. VHDL——JK触发器
  7. Echarts实现“暂无数据”的几种方案
  8. 便捷注册live、MSN邮箱
  9. 搜索留痕技术工具-免费搜索留痕外链工具发布
  10. python 连通区域_opencv 查找连通区域 最大面积实例
  11. 【项目实战】Python基于孤立森林算法(IsolationForest)实现数据异常值检测项目实战
  12. Nvidia Isaac Sim ROS机器人仿真和AMR开发环境
  13. java 工作流表单设计器 设计方案
  14. 谷歌背后的数学(PageRank)
  15. 《代码整洁之道》一之整洁代码的必要性
  16. React高阶组件探究
  17. ES6:字符串的扩展及新增方法
  18. CSS设置打印时的页边距和多余空白页问题
  19. Vue项目启动后自动打开浏览器
  20. 华为苹果同台竞技:iPhone 14和Mate 50应该怎么选?

热门文章

  1. 将excel多个工作表(表结构相同)合并后生成csv文件
  2. comboBox绑定数据库后SelectedIndexChanged事件出错
  3. 用计算机算出你喜欢吃你喜欢的人,Go for it七年级下学期1-12单元(期末复习)句子翻译专练...
  4. php 判断update返回为0_PHP进行数据库更新update操作,返回状态
  5. php反转数字_【PHP】php实现数组反转
  6. java23种设计模式个人整理_java23种设计模式-行为型模式之模板方法模式
  7. 当女朋友生气了而你却没发现 !!!
  8. 每天扫扫扫,二维码会被我们扫完吗?
  9. 全校师生放6天春假;清华大学设立天文系;郭守敬望远镜光谱数突破千万;《自然》发表最新发现;百度败诉需道歉;这就是今天的大新闻...
  10. 每日一笑 | 男朋友整天沉迷游戏怎么办...?