Spring中对象和属性的注入方式
一:Spring的bean管理
1.xml方式
bean实例化三种xml方式实现
第一种 使用类的无参数构造创建,首先类中得有无参构造器(重点)

第二种 使用静态工厂创建
(1)创建静态的方法,返回类对象


第三种 使用实例工厂创建
(1)创建不是静态的方法,返回类对象


2.注解方式
1.导入jar包
2.引入约束
3.创建类对象,在对象上使用注解实现

4.开启注解扫描

5.测试

创建对象有四个注解
(1)@Component
(2)@Controller
(3)@Service
(4)@Repository
目前这四个注解功能是一样的,都创建对象
二:属性注入介绍
属性注入的xml方式介绍(三种方式)
(1)使用set方法注入


(2)使用有参数构造注入

(3)使用接口注入(不是重点)
注入对象类型属性(重点)

注解注入属性(对象也是)
(1)创建dao和service对象


(2)在service类里面定义dao类型属性 Autowired不需要匹配对象属性的value值userDao。
注入属性第二个注解 @Resource,这个注解的name值需要与dao对象属性的value值userDao匹配。


三:
注入复杂类型属性
|
1 数组 2 list集合 3 map集合 4 properties类型 <!-- 注入复杂类型属性值 --> <beanid="person"class="cn.itcast.property.Person"> <!-- 数组 --> <propertyname="arrs"> <list> <value>小王</value> <value>小马</value> <value>小宋</value> </list> </property>
<!-- list --> <propertyname="list"> <list> <value>小奥</value> <value>小金</value> <value>小普</value> </list> </property>
<!-- map --> <propertyname="map"> <map> <entrykey="aa"value="lucy"></entry> <entrykey="bb"value="mary"></entry> <entrykey="cc"value="tom"></entry> </map> </property>
<!-- properties --> <propertyname="properties"> <props> <propkey="driverclass">com.mysql.jdbc.Driver</prop> <propkey="username">root</prop> </props> </property> </bean> |
Spring中对象和属性的注入方式的更多相关文章
- Spring中bean的四种注入方式
一.前言 最近在复习Spring的相关内容,这篇博客就来记录一下Spring为bean的属性注入值的四种方式.这篇博客主要讲解在xml文件中,如何为bean的属性注入值,最后也会简单提一下使用注解 ...
- spring练习,使用Eclipse搭建的Spring开发环境,使用set注入方式为Bean对象注入属性值并打印输出。
相关 知识 >>> 相关 练习 >>> 实现要求: 使用Eclipse搭建的Spring开发环境,使用set注入方式为Bean对象注入属性值并打印输出.要求如下: ...
- Spring学习(三)几种集合属性的注入方式
1.前言 众所周知.java中不只有八大简单类型.还有一些集合类型.本文围绕集合类型的注入做一个总结. 2.项目骨架 3.过程 1.创建实体类AllCollectionType package com ...
- spring中bean配置和bean注入
1 bean与spring容器的关系 Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载.实例化Bean ...
- Spring中三种配置Bean的方式
Spring中三种配置Bean的方式分别是: 基于XML的配置方式 基于注解的配置方式 基于Java类的配置方式 一.基于XML的配置 这个很简单,所以如何使用就略掉. 二.基于注解的配置 Sprin ...
- JavaScript中对象的属性
在JavaScript中,属性决定了一个对象的状态,本文详细的研究了它们是如何工作的. 属性类型 JavaScript中有三种不同类型的属性:命名数据属性(named data properties) ...
- JAVA高级架构师基础功:Spring中AOP的两种代理方式:动态代理和CGLIB详解
在spring框架中使用了两种代理方式: 1.JDK自带的动态代理. 2.Spring框架自己提供的CGLIB的方式. 这两种也是Spring框架核心AOP的基础. 在详细讲解上述提到的动态代理和CG ...
- java 对list中对象按属性排序
实体对象类 --略 排序类----实现Comparator接口,重写compare方法 package com.tang.list; import java.util.Comparator; publ ...
- freemarker获取封装类中对象的属性
freemarker获取封装类中对象的属性 1.设计思路 (1)封装学生类 (2)创建数据模型 (3)新建student.ftl (4)运行Junit测试文件,生成HTML文件 2.封装学生类 Stu ...
随机推荐
- Android异常:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original
Android异常:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that cr ...
- 学习TensorFlow,多层卷积神经网络
一.网络结构 二.代码 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_ ...
- Java进阶(三十六)深入理解Java的接口和抽象类
Java进阶(三十六)深入理解Java的接口和抽象类 前言 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太 ...
- Android性能优化之Splash页应该这样设计
目前SplashActivity的设计 目前市场上的应用在启动时基本上都会先启动一个SplashActivity,作为一个欢迎界面,为什么这样设计呢? 个人总结有三个优点: 1.可以给用户更好的体验 ...
- ntoskrnl符号在IDA中查看的问题
最近发现x64的ntoskrnl.exe,如果直接在IDA中查看,会有一些函数IDA没有识别出来,比如
- sed-加速你在Linux的文件编辑
1. Sed简介 sed是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中 ...
- pig的limit无效(返回所有记录)sample有效
pig中,limit可以取样少部分数据,但有很多问题,比如数据不能少于10条,否则返回全部. 今天又遇到另一个问题: group后的数据,limit无效:也就是group后的数据,不能用limit,估 ...
- Mahout LDA 聚类
Mahout LDA 聚类 一.LDA简介 (一)主题模型 在主题模型中,主题表示一个概念.一个方面,表现为一系列相关的单词,是这些单词的条件概率.形象来说,主题就是一个桶,里面装了出现概率较高的 ...
- Android群英传笔记——第十章:Android性能优化
Android群英传笔记--第十章:Android性能优化 随着Android应用增多,功能越来越复杂,布局也越来越丰富了,而这些也成为了阻碍一个应用流畅运行,因此,对复杂的功能进行性能优化是创造高质 ...
- Dynamics CRM2011中通过JS脚本方式显示和隐藏ribbon中的自定义按钮
首先该方法不能写在页面的onload中,因为当从子网格返回常规表单的时候ribbon区域会重新加载而常规表单所在的iframe区域是不会被刷新的,所以如果写在onload中的话就控制的不那么完全了,我 ...