Spring--第一天

来源:互联网 发布:怎么对比两列数据图表 编辑:程序博客网 时间:2024/06/15 09:10

spring是一个轻量级的框架

核心:

1 控制反转(IOC) 依赖注入(DI)

2 AOP

 

回顾:面向过程 - 面向对象- 面向接口

 

特点:

1 解耦

2 帮我们管理事务

 

IOC:控制反转:将对象的创建反转给spring,让spring帮我们去创建对象

 

官网 spring.io

下载jar包:

http://repo.springsource.org/libs-release-local/org/springframework/spring/

docs:api的开发规范

schema:springxml约束

dist/libs: jar包 

日志文件  log4j.properties


最后一行:info代表级别

级别:debug  info  off

stdout:表明日志往控制台输出

步骤

 

1 配置applicationContext.xmlschema

2 配置bean (id   class)



3 解析配置文件,得到工厂,进而得到工厂中需要bean对象

4 操作


以前spring的工厂:BeanFactory

 

bean的属性;

1 id

2 class

3 scope:bean的作用范围

singleton : 单例  

prototype: 多例(整合struts2的时候action必须配该属性)

4 request :每次请求http都会创建一个新的bean

5 session:同一个httpsession共享一个bean

6 globalsession:多服务器间的session

 

集群和分布式

区别:

集群是将几台服务器集中在一起,实现同一业务

分布式将不同的业务分部在不同的地方

 

集群:99*99*99*99

分布式: 1+2*3-4/5

 

控制反转:IOC  (inverse  of  control)

依赖注入:  DI   (dependency injection )

依赖注入就是在为每一个bean配置属性

注入前提

方法1 属性封装set方法(推荐)

1 如果属性是普通值:在bean中使用

<property name="" value="" /> 

2 如果属性是对象:在bean中使用

<property name="" ref="" /><!--引用另外一个beanid--> 

 

方法2:属性封装构造方法

<constructor-arg name="" value=""/>

<constructor-arg name="" ref=""/>

 

 

如果注入的是集合对象

<bean id="user" class="com.test3.User">

<property name="arr" >

<list>

<value>哈哈</value>

<value>呵呵</value>

<value>哦哦</value>

</list>

</property>

<property name="list" >

<list>

<value>哈哈</value>

<value>呵呵</value>

<value>哦哦</value>

</list>

</property>

<property name="set" >

<set>

<value>哈哈</value>

<value>呵呵</value>

<value>哦哦</value>

</set>

</property>

<property name="map" >

<map>

<entry key="1" value="刘备" />

<entry key="2" value="顺全" />

<entry key="3" value="曹操" />

</map>

</property>

</bean>

 

在一个xml中引入另一个xml

<import resource="xxx.xml"/>

同时加载多个xml
ApplicationContext ac=new ClassPathXmlApplicationContext("xx.xml","xx2.xml"....);

 


原创粉丝点击