SSM框架Spring 详解 No.1
来源:互联网 发布:itunes软件怎么下载 编辑:程序博客网 时间:2024/06/03 17:38
什么是SSM框架?
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、SpringMVC、MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架。
spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。
今天详细介绍一下spring 框架的一些知识.Spring框架主要可以分为3个核心内容: 1、容器 2、控制反转(IoC ,Inversion of Control) 3、面向切面编程(AOP ,Aspect-Oriented Programming)
容器
Spring容器能够帮助你管理所有的Bean对象。专业术语称之为IoC控制反转。在传统的程序中。对象的生成都是由开发人员完毕的。而在控制反转中,对象的生成所有都交给框架完毕。这种优点就是降低了程序的依赖性。Bean在Spring中的生命周期例如以下:实例化:Spring通过newkeyword将一个Bean进行实例化,JavaBean都有默认的构造函数,因此不须要提供构造參数。填入属性。 Spring依据xml文件里的配置通过调用Bean中的setXXX方法填入相应的属性。事件通知。Spring依次检查Bean是否实现了BeanNameAware、BeanFactoryAware、ApplicationContextAware、BeanPostProcessor、InitializingBean接口,假设有的话,依次调用这些接口。使用:应用程序能够正常使用这个Bean了。销毁:假设Bean实现了DisposableBean接口。就调用其destroy方法。
定义一个Bean的语法例如以下。
<beans xmlns="..."> <bean id="apple" class="com.whitejava.Apple"/></beans>
使用这个Bean时仅仅要通过applicationContext.getBean(“apple”)就可以获取。
作用域:
在Spring中还能够指定Bean的作用域,也就是Bean的寿命。仅仅要设置bean标签的scope属性就可以。Spring提供的生命周期有:singleton整个应用仅仅有一个、prototype每次调用都产生一个新的、request每一个HTTP请求相应一个bean、session每一个HTTP会话相应一个bean、global-session每一个portlet上下文session相应一个bean。默认生命周期是singleton。初始化和销毁。第一种方法,在xml中的bean标签添加init-method和destroy-method属性来指定初始化和销毁方法。另外一种方法,在bean的java类中implements InitializingBean或者DisposableBean接口实现初始化和销毁。第三种方法。在xml中的beans标签中添加default-init-method和default-destroy-method属性。另外,能够通过RPC或者JMS配置远程Bean。
外部配置
有时候有些关键的属性,比方数据库password,须要放在xml文件之外,便于兴许改动。Spring解决问题的方法有两种。一种是属性占位符,一种是属性重写。另外阿里提供的AutoConfig有更好的配置管理机制。
关于占位符。首先加载属性文件:
<context:property-placeholder location="classpath:/db.properties"/><context:property-placeholder location="file:///etc/db.properties"/>
引用属性中的变量:
<bean id="dataSource" class="org.springframework.jdbc.datbase.DriverManagerDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}/></bean>
覆盖properties文件里的变量:
<util:properties id="defConf> <prop key="jdbc.url">jdbc:mysql://localhost/test</prop> <prop key="jdbc.driverClassName">com.mysql.jdbc.Driver</prop></util:properties><context:property-placeholder location="classpath:/db.properties" properties-ref="defConf" system-properties-mode="OVERRIDE"/>
除了OVERRIDE还有FALLBACK、NEVER。
覆盖xml配置。
加载properties文件并覆盖现有的xml配置。
<bean id="dataSource" class="xxx"> <property name="url">jdbc:oracle://xxx</property> <property name="username">xxx</property></bean>// 加载DB 配置文件<context:property-overrider location="classpath:/db.properties"/>
db.properties文件的内容:
dataSource.url=jdbc:mysql://xxxdataSource.username=yyydataSource.password=xxx
加密配置值。加载经过加密的properties文件:
<bean id="environmentConfig" class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig"> <property name="algorithm" value="PBEWithMD5AndDES"/> <property name="passwordEnvName" value="DB_ENCRYPTION_PWD"/></bean><bean id="stringEncrypter" class="org.jasypt.encryption.pbe.Environment"> <property name="config-ref" ref="environmentConfig"/></bean><bean id="org.jasypt.spring.properties.EncryptablePropertyPlaceholderConfigurer"> <constructor-arg ref="stringEncrypter"/></bean>
Session
Spring中的Session一般不须要直接操作,而是将数据保存到Bean容器中的scope=session中。
下一篇文准备谈谈Spring IoC 思想及其对其理解
阅读全文
0 0
- SSM框架Spring 详解 No.1
- SSM框架Spring IoC详解 No.2
- SSM框架spring Aop详解 No.3
- SSM框架Spring MVC详解 No.4
- SSM框架 mybatis 详解 No.6
- SSM框架mybatis 详解二 No.7
- SSM框架-Spring篇
- SSM框架---Spring
- SSM框架的整合详解(SpringMVC + Spring + MyBatis)
- Spring+Springmvc+Mybatis maven整合ssm框架详解
- ssm框架详解教程(Spring+SpringMVC+Mybaits)
- 框架SSM详解
- ssm框架集成详解
- ssm框架整合详解
- SSM框架----spring MVC原理
- SSM框架 之 Spring-IOC
- SSM框架:SpringMVC + Spring + MyBatis
- SSM框架之--spring(一)
- linux定时任务的设置 crontab 配置指南
- app测试要点(3)
- idea从svn上导入项目
- 修改Tomcat Connector运行模式,优化Tomcat运行性能
- Google算法题:M-寻找缺失的数
- SSM框架Spring 详解 No.1
- 多文件修改文件名;
- 第二十一篇:并发新特性—阻塞队列和阻塞栈(含代码)
- ping百度(外网)出现:unknown host www.baidu.com问题解决
- Java程序员常见的10道XML面试题
- 小程序支付后发送模板消息
- 萌新瑟瑟发抖
- lightoj 1205(回文数的数量 数位dp)
- JAVA每日一题