Spring框架Bean大致内容

Spring框架

Spring简介

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架。贯穿表现层,业务层,持久层,但是spring并不是取代那些已有框架,而是与他们无缝结合。

常见英文单词

Spring core : Spring核心容器
:配置文件根标签
:每个对象对应一个bean标签 id="不可重复,标示符" class="对应实体类完整的包名.类名"
:为对象的属性赋值 name="属性名" value="属性值" ref="引用对象id"
ApplicationContext:IOC容器对象,用来保存从xml中读取的对象
ClassPathXmlApplicationContext(".xml相对路径"):
IOC:控制反转核心,控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。从之前在代码中主动new对象,反转到由xml中进行配置,然后通过spring提供的ioc容器读取xml然后反射生成对象。
DI:依赖注入,在ioc生成对象的时候,通过对象提前写好的一些set方法,通过调用这些set方法设置一些数值。这个动作就叫做注入。
BeanFactory:IOC容器的基本实现,是Spring内部的基础设施,是面向Spring本身的,不是提供给开发人员使用的。
​

Bean的作用域

Singleton:单例,获取Singleton对象都是同一个对象,初始化IOC容器即创建该对象,但可以
配置lazy-init="true"来延迟初始化bean,这时候,只有第一次获取bean才会初始化bean,即第一次请求该bean时才初始化。
​
prototype:Prototype作用域的bean会导致在每次对该bean请求(将其注入到另一个bean中,或者以程序的方式调用容器的getBean() 方法)时都会创建一个新的bean实例 。
​
request:表示该针对每一次HTTP请求都会产生一个新的bean,仅适用于WebApplicationContext环境。

Spring1以上提供
​
session:表示该针对每一次会话都会产生一个新的bean,仅适用于WebApplicationContext环境。

Spring1以上提供

Bean的生命周期

什么时候初始化bean实例?
当scope=singleton,即默认情况,会在容器初始化时实例化。但我们可以指定Bean节点的lazy-init=”true”来延迟初始化bean,这时候,只有第一次获取bean才会初始化bean,即第一次请求该bean时才初始化。
如果想对所有bean都应用延迟初始化,可以在根节点beans设置default-lazy-init=”true”
当scope=prototype时,也会延迟初始化bean,即第一次请求该bean时才初始化(如调用getBean()方法时).
  
Spring IOC容器对bean的生命周期进行管理的过程:
​
[1]通过构造器或工厂方法创建bean实例   
[2]为bean的属性设置值和对其他bean的引用      
[3]调用bean的初始化方法   ? (我们可以为一个普通的java对象指定初始化方法)
[4]bean可以使用了
[5]当容器关闭时,调用bean的销毁方法  
​
在配置bean时,通过init-method和destroy-method属性为bean指定初始化和销毁方法 

 Bean在applicatonContext.xml中的配置方式,在Java代码中通过

ApplicationContext  app = new ClassPathXmlApplicationContext("配置文件相对路径");

app.getBean("配置中对应的id")








	

	


	

	
	
	

	
		
		

		

		
		
		

	


	
		

		

		
		

		
		

	


	
	


	


	
	


	

		
		
		
		
		

		
		

	


	

	
		
		
		
		

			
			
			
				
				
			

		

	




	

		
			

				跑步
				游泳
				射击
			
		
		

			
				
				

			
		
	


	

	


		
		

		
		



	

	


		
		


		
	


 

SPEL

简介:Spring Expression Language,Spring表达式语言,简称SpEL。支持运行时查询并可以操作对象图。
​
基本语法
SpEL使用#{…}作为定界符,所有在大框号中的字符都将被认为是SpEL表达式 。
spel使用在applicationContext.xml中
​
Spel的用法
1,引用其他bean
2,引用其他bean的属性值作为自己某个属性的值
3,调用非静态方法
4,调用静态方法
5,运算符
如下图所示   
​

1,引用其他bean

Spring框架Bean大致内容_第1张图片

2,引用其他bean的属性值作为自己某个属性的

Spring框架Bean大致内容_第2张图片

3,调用非静态方法

Spring框架Bean大致内容_第3张图片

4,调用静态方法

Spring框架Bean大致内容_第4张图片

5,运算符

①算术运算符:+、-、*、/、%、^

②字符串连接:+

③比较运算符:<、>、==、<=、>=、lt、gt、eq、le、ge

④逻辑运算符:and, or, not, |

⑤三目运算符:判断条件?判断结果为true时的取值:判断结果为false时的取值

⑥正则表达式:matches

 

 

刚开始学习,逐渐完善中

 

你可能感兴趣的:(Spring框架Bean大致内容)