一: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对象属性的valueuserDao匹配

三:

注入复杂类型属性

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中对象和属性的注入方式的更多相关文章

  1. Spring中bean的四种注入方式

    一.前言   最近在复习Spring的相关内容,这篇博客就来记录一下Spring为bean的属性注入值的四种方式.这篇博客主要讲解在xml文件中,如何为bean的属性注入值,最后也会简单提一下使用注解 ...

  2. spring练习,使用Eclipse搭建的Spring开发环境,使用set注入方式为Bean对象注入属性值并打印输出。

    相关 知识 >>> 相关 练习 >>> 实现要求: 使用Eclipse搭建的Spring开发环境,使用set注入方式为Bean对象注入属性值并打印输出.要求如下: ...

  3. Spring学习(三)几种集合属性的注入方式

    1.前言 众所周知.java中不只有八大简单类型.还有一些集合类型.本文围绕集合类型的注入做一个总结. 2.项目骨架 3.过程 1.创建实体类AllCollectionType package com ...

  4. spring中bean配置和bean注入

    1 bean与spring容器的关系 Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载.实例化Bean ...

  5. Spring中三种配置Bean的方式

    Spring中三种配置Bean的方式分别是: 基于XML的配置方式 基于注解的配置方式 基于Java类的配置方式 一.基于XML的配置 这个很简单,所以如何使用就略掉. 二.基于注解的配置 Sprin ...

  6. JavaScript中对象的属性

    在JavaScript中,属性决定了一个对象的状态,本文详细的研究了它们是如何工作的. 属性类型 JavaScript中有三种不同类型的属性:命名数据属性(named data properties) ...

  7. JAVA高级架构师基础功:Spring中AOP的两种代理方式:动态代理和CGLIB详解

    在spring框架中使用了两种代理方式: 1.JDK自带的动态代理. 2.Spring框架自己提供的CGLIB的方式. 这两种也是Spring框架核心AOP的基础. 在详细讲解上述提到的动态代理和CG ...

  8. java 对list中对象按属性排序

    实体对象类 --略 排序类----实现Comparator接口,重写compare方法 package com.tang.list; import java.util.Comparator; publ ...

  9. freemarker获取封装类中对象的属性

    freemarker获取封装类中对象的属性 1.设计思路 (1)封装学生类 (2)创建数据模型 (3)新建student.ftl (4)运行Junit测试文件,生成HTML文件 2.封装学生类 Stu ...

随机推荐

  1. Android异常:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original

    Android异常:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that cr ...

  2. 学习TensorFlow,多层卷积神经网络

    一.网络结构 二.代码 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_ ...

  3. Java进阶(三十六)深入理解Java的接口和抽象类

    Java进阶(三十六)深入理解Java的接口和抽象类 前言 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太 ...

  4. Android性能优化之Splash页应该这样设计

    目前SplashActivity的设计 目前市场上的应用在启动时基本上都会先启动一个SplashActivity,作为一个欢迎界面,为什么这样设计呢? 个人总结有三个优点: 1.可以给用户更好的体验 ...

  5. ntoskrnl符号在IDA中查看的问题

    最近发现x64的ntoskrnl.exe,如果直接在IDA中查看,会有一些函数IDA没有识别出来,比如

  6. sed-加速你在Linux的文件编辑

    1. Sed简介 sed是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中 ...

  7. pig的limit无效(返回所有记录)sample有效

    pig中,limit可以取样少部分数据,但有很多问题,比如数据不能少于10条,否则返回全部. 今天又遇到另一个问题: group后的数据,limit无效:也就是group后的数据,不能用limit,估 ...

  8. Mahout LDA 聚类

    Mahout LDA 聚类 一.LDA简介   (一)主题模型 在主题模型中,主题表示一个概念.一个方面,表现为一系列相关的单词,是这些单词的条件概率.形象来说,主题就是一个桶,里面装了出现概率较高的 ...

  9. Android群英传笔记——第十章:Android性能优化

    Android群英传笔记--第十章:Android性能优化 随着Android应用增多,功能越来越复杂,布局也越来越丰富了,而这些也成为了阻碍一个应用流畅运行,因此,对复杂的功能进行性能优化是创造高质 ...

  10. Dynamics CRM2011中通过JS脚本方式显示和隐藏ribbon中的自定义按钮

    首先该方法不能写在页面的onload中,因为当从子网格返回常规表单的时候ribbon区域会重新加载而常规表单所在的iframe区域是不会被刷新的,所以如果写在onload中的话就控制的不那么完全了,我 ...