Spring入门篇——第4章 Spring Bean装配(下)
第4章 Spring Bean装配(下)
4-1 Spring Bean装配之Bean的定义及作用域的注解实现






base-package="org.example":扫描这个包下的所有类

可以扫描基于类的注解


只能在完成bean的注册之后,去处理bean中的方法或者是成员变量的注解

自己的理解:类被自动发现并注册bean的条件时:使用注解。




4-2 Spring Bean装配之Autowired注解说明-1


4-3 Spring Bean装配之Autowired注解说明-2


Map<key,value> key:所有的bean的id,value:bean的对象
@Order对List是有效的,对Map是无效的


4-4 Spring Bean装配之Autowired注解说明-3







通过什么样的方式,定义我们自己的qualifier?
定义自己的注解的时候,用qualifier来注解我们自定义的注解,那么我们自定义的注解就具备了qualifier的相应的功能。

4-5 Spring Bean装配之基于Java的容器注解说明——@Bean


@Bean(name="myFoo")没有指定name的时候,使用方法名作为bean的id
4-6 Spring Bean装配之基于Java的容器注解说明——@ImportResource和@Value

XML配置的方式


引入一个资源,资源对应一个xml文件,从资源文件中加载资源文件的配置
使用注解@Configuration:把这个类AppConfig作为配置来使用
用@Value这个注解,从资源文件中取出它的key,赋值给当前类的成员变量
使用@Bean这个注解,去创建DriverManagerDataSource,也就是去创建这个Bean的对象


username取到当前用户的名称,也就是当前登录我操作系统的用户名。实际使用需要注意


运行结果



运行结果

4-7 Spring Bean装配之基于Java的容器注解说明——@Bean和@Scope



类的hashcode是一致的

4-8 Spring Bean装配之基于Java的容器注解说明——基于泛型的自动装配


4-9 Spring Bean装配之Spring对JSR支持的说明








Spring入门篇——第4章 Spring Bean装配(下)的更多相关文章
- Spring入门篇——第3章 Spring Bean装配(上)
第3章 Spring Bean装配(上) 介绍Bean的作用域.生命周期.Aware接口.自动装配和Resource等内容. 3-1 Spring Bean装配之Bean的配置项及作用域 从上至下依次 ...
- Spring入门篇——第6章 Spring AOP的API介绍
第6章 Spring AOP的API介绍 主要介绍Spring AOP中常用的API. 6-1 Spring AOP API的Pointcut.advice概念及应用 映射方法是sa开头的所有方法 如 ...
- Spring入门篇——第5章 Spring AOP基本概念
第5章 Spring AOP基本概念 本章介绍Spring中AOP的基本概念和应用. 5-1 AOP基本概念及特点 5-2 配置切面aspect ref:引用另外一个Bean 5-3 配置切入点Poi ...
- Spring入门篇——第2章 Spring IOC容器
第2章 Spring IOC容器 介绍Spring IOC容器的基本概念和应用 2-1 IOC及Bean容器 自己的理解:什么是IOC?就是利用配置文件(外部容器)来创建对象. 在IOC容器中,所有对 ...
- Spring入门篇——第7章 Spring对AspectJ的支持
第7章 Spring对AspectJ的支持 介绍Spring对AspectJ的支持 7-1 AspectJ介绍及Pointcut注解应用 实例 完成了在xml文件的配置 7-2 Advice定义及实例 ...
- Spring入门篇——第1章 概述
第1章 概述 本章对课程的情况进行介绍,并介绍框架和Spring概况. 1-1 Spring入门课程简介 1-2 Spring概况 1-3 Spring框架
- Spring课程 Spring入门篇 6-3 ProxyFactoryBean及相关内容(下)
1 解析 1.1 使用global advisors demo 1.2 jdk代理和cglib代理的选择 1.3 如何强制使用CGLIB实现AOP? 1.4 JDK动态代理和CGLIB字节码生成的区别 ...
- spring 入门篇
spring 入门篇 相对于Hibernate(冬眠),Spring(春天),具有更多的诗意与希望的感觉,是为了解决传统J2EE开发效率过低.开发商之间不统一.没有真正实现“写一次到处 ...
- Spring入门篇总结:
本文是对慕课网上"搞定SSM开发"路径的系列课程的总结,详细的项目文档和课程总结放在github上了.点击查看 视频传送门:Spring入门篇 该门课程主要从Spring的Bean ...
随机推荐
- vue项目中event bus的简单使用
之前做的一个vue后台管理系统中,需要实现这样一个功能:从列表页点击新建或编辑进入新建.编辑页面,新建.编辑完成后需要关闭当前的新建和编辑tab,而tab的关闭则是由项目中的tag组件控制的, 新建和 ...
- vue加载优化方案
我们的项目随着组件的加入,首次加载的js文件越来越大,用户等待时间越来越长:之前想着使用webpack的splitCoding来解决,看了webpack的官方文档可以配置optimization的 m ...
- docker镜像内没有vim
问题: 我们在容器中找不到vim等命令 原因: 镜像制作的时候没把这些东西加进去 解决: 用apt update更新源之后再安装vim apt update apt-get install - ...
- PTA(Advanced Level)1041.Be Unique
Being unique is so important to people on Mars that even their lottery is designed in a unique way. ...
- 转载:同一台电脑教你配置多个Tomcat的环境变量
装两个tomcat 分别是6.0和7.0 可想运行tomcat6.0 但是实际上却运行tomcat7.0 两个版本都是用解压缩包 其实就是不能运行tomcat6.0 只能运行7.0 两个环境变量都配置 ...
- 基本mysql语句
一 select语句 基本语法 select 列名1,列名2 //可以使用完全限定的列名 tables.列名 form tables 过滤(where ) 分组(group ...
- C++ STL Vector学习 (待续)
头文件:<vector> 初始化 vector<Elementtype> vec(); /*Elementtype是数据类型,10代表长单为10*/ vector<Ele ...
- 机器猫css
<html> <head> <title>机器猫</title> <style> div{ width: 30px; h ...
- Python二、十、八进制相互转换
进制转换:先介绍用传统数学方法,再介绍用python内置方法 二进制转十进制: 1101 转为十进制 1*2^(4-1)+1*2^(3-1)+0*2^(2-1)+1*2^(1-1) 即各个位拆开,乘以 ...
- Python内存相关
Python内存相关 示例一: v1 = [1, 2, 3] v2 = [1, 2 ,3] v1 = 123 v2 = 123 v1 = "dogfa" v2 = "do ...