博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
环境搭建及创建对象方式及赋值(注入)
阅读量:4975 次
发布时间:2019-06-12

本文共 3344 字,大约阅读时间需要 11 分钟。

1、导入jar

  1.1、基本类包:四个核心包  一个日志包(commons-logging)

  

2、在src下新建applicationContext.xml

  2.1 文件名称和路径自定义

  2.2 记住Spring容器ApplicationContext,   applicationContext.xml 配置的信息最终存储到ApplicationContext容器中

  2.3 Spring配置文件是基于schema

    2.3.1 schema文件扩展名 .xsd

    2.3.2 把schema理解成DTD的升级版

      2.3.2.1 比DTD具备更好的扩张性

    2.3.3 每次引入一个xsd文件是一个namespace(xmlns)

  2.4 配置文件中只需要引入基本schema

    2.4.1 通过<bean/>创建对象

    2.4.2 默认情况下,配置文件被加载时创建对象

3、编写测试方法

  3.1 getBean("<bean>标签id值",返回值类型)  如果没有第二个参数默认是obejct

  3.2 getBeanDefinitionNames() ,Spring容器中目前所有管理的所有的对象

1 public class Test { 2     public static void main(String[] args) { 3         /*People pe=new People();*/ 4          5         ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); 6         People peop = ac.getBean("peo",People.class); 7         System.out.println(peop); 8          9 //        String[] names = ac.getBeanDefinitionNames();10 //        for(String str:names){11 //            System.out.println(str);12         }13         14     }

4、Spring创建对象的三种方式

  1 通过构造方法创建

    1.1 无参构造创建:默认情况

    1.2 有参构造创建:需要明确配置

      1.2.1 需要在类中提供有参构造方法

      1.2.2 在applicationContext.xml 中设置调用哪个构造方法创建对象    

        1.2.2.1 如果设定的条件匹配多个构造方法执行最后的构造方法

        1.2.2.2 index:参数的索引,从0开始

        1.2.2.3 name:参数名

        1.2.2.4 type:类型(区分开关键字和封装类int 和Integer)

1 
5
6
7
8
9
10

  2 实例工厂

    2.1 工厂设计模式:帮助创建类对象,一个工厂可以生产多个对象

    2.2 实例工厂:需要先创建工厂,才能生产对象

      我这里是简单实例,还可以单例工厂,抽象工厂,,,,

public class CreatePeopleFactory {    public People newInstance(){        return new People("测试22",22);    }}

    2.3 在applicationContext.xml中配置工厂对象和需要创建的对象

  3 静态工厂

    3.1 不需要创建工厂,快速创建对象

    3.2 实现步骤

      3.2.1 编写一个静态工厂(在方法上添加static)

public class CreatePeopleFactory {    /**     * 静态工厂     */    public static People newInstance(){        return new People("测试33",23);    }}

      3.2.2 在applicationContext.xml中配置工厂的方法

5、如何给Bean的属性赋值(注入)

  1、通过构造方法设置值

  2、设置注入(通过set方式)

    2.1 如果属性是基本数据类型或String等简单数据类型

     2.1.1 等效于

"阿旭522"
522

    2.2 如果属性是Set<?>,通过这种方式注入, List<?>一样(如果list就只有一个值,可以使用value=进行赋值)

1     
2
"阿旭522"
3
522
4
5
6
1
7
2
8
3
9
4
10
11
12
13

    2.3 如果属性是数组通过这种方式注入,String[] 

1
2
3

      2.3.1 如果数组只有一个值,可以使用value进行赋值

    2.4 如果属性是Map<?,?>通过这种方式

    2.5 如果属性是 Properties类型 通过这种方式注入

value
value1

 

 

 

  

 

转载于:https://www.cnblogs.com/axu521/p/10124033.html

你可能感兴趣的文章
gcc中预定义的宏__GNUC__
查看>>
idea-自定义Java模板文件
查看>>
Eclipse快捷键 10个最有用的快捷键
查看>>
sort qort函数
查看>>
maven的导入
查看>>
(一)Jmeter 简单的录制
查看>>
旋转菜单
查看>>
Masonry介绍与使用实践(快速上手Autolayout)(转)
查看>>
hihoCoder #1770 : 单调数(数位dp)
查看>>
友情链接
查看>>
laravel入门-CSRF解决
查看>>
数据库 chapter 17 数据仓库与联机分析处理技术
查看>>
Hdu4547CD操作离线lca
查看>>
jquery的基本事件大全
查看>>
git打tag
查看>>
Docker容器中安装vim
查看>>
前言:学习自动化之前需要知道的
查看>>
HTML5 - Canvas动画样例(谷歌弹跳球)
查看>>
Spring注解注入
查看>>
hdu 1045 Fire Net dfs深搜或者二分匹配
查看>>