厉害了10年架构师整理的Spring中

刘云涛 http://hunan.ifeng.com/a/20170705/5797804_0.shtml

今日分享开始啦,请大家多多指教~

IOC创建对象的两种方式

1.无参构造方式

sprirng使用无参构造的方式新建对象,然后使用set方法注入属性,表现为在bean.xml的property来对属性进行赋值。

如果实体类中没有set方法,property来对属性进行赋值。

2有参构造方式

在实体类增加有参构造方法,(无参构造是默认含有的。)

修改bean.xml方法

回顾一下java的知识,在创建java对象时,无参构造函数是默认含有的,但是有参构造函数写了之后,默认的无参构造就会失效,这个时候要使用无参构造需要手动写一个无参构造函数。

spring配置

1别名配置

spring别名的配置规则

!--设置别名:在获取Bean的时候可以使用别名获取--

aliasname=helloalias=helloOne/

和mybatis的有些类似,在mybatis中是这样使用的。

配置了别名之后,在java代码中就可以通过别名来获取对象实例了。

2bean配置

这一个配置文件用java代码来解释就是

Hellohello=newHello();

hello.setName(Spring);

3多团队协作import

如果在团队开发中要使用别人写的xml文件,可以使用import的方式来实现,这样,就可以在自己的bean中使用别人bean的属性。

importresource={path}/beans.xml/

依赖注入

依赖注入作为Spring实现IOC的方式,允许大家使用多种方式来进行bean属性值的注入。

1有参构造器注入

在4当中已经实现了构造器注入

2set注入

要求被注入的属性,必须有set方法,set方法的方法名由set+属性首字母大写,如果属性是boolean类型,没有set方法,是is.

创建实体类用于测试

Student.java

因为学生对象中含有对象Address

Address.java

常量注入(常用的数据类型,如inter,string,double等)

对象注入

在这里ref是引用。

数组注入

list注入

map注入

set注入

property

null注入

结果

3使用命名空间注入

P命名空间注入:需要在头文件中假如约束文件

c命名空间注入:需要在头文件中假如约束文件

4Bean的作用域

Singleton单例

SpringIoC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例。

beanid=ServiceImplclass=cn.csdn.service.ServiceImplscope=singleton

Prototype

当一个bean的作用域为Prototype,表示一个bean定义对应多个对象实例。Prototype作用域的bean会导致在每次对该bean请求时都会创建一个新的bean实例。

beanid=accountclass=


转载请注明:http://www.aierlanlan.com/rzdk/3951.html