Spring概述
一.Spring介绍,以及Spring框架的优势
Spring框架是一个企业级的轻量级框架,低侵入的框架(也是在后期项目维护,修改代码量也比较少)
优势:
1.其实spring就是一个大工厂(工厂这设计模式)(生产管理实体bean,不用实例化对象,所有的都是通过spring容器来进行管理)
2.支持分布式事务
3.支持测试,与jutext测试有良好的结合
4.与其他框架的结合度比较好(ssh ssm)
5.支出我们企业级的api的开发(邮箱,任务调度)
二.Spring 模块介绍
Core Container主要分为Bean ,Core ,Context ,Expression Language
Bean(主要就是来管理,产生对象)
Core(主要提供一些核心基础服务)
Context(提供api开发)
搭建spring框架
1.导入核心jar包
spring-bean-4.3.6.jar包含访问配置文件,创建和管理bean
spring-context-4.3.6.jar提供在基础IoC功能上的扩展服务,此外还提供许多企业级服务的支持
spring-core-4.3.6.jar Spring框架的核心工具类
spring-expression-4.3.6.jar表达式语言
commons-logging-1.2.jar第三方的主要用于处理日志
2.导入核心配置文件(applicationContext.xml)
3.进行测试
三.控制反转
控制反转(就是不需要自己来实例化这个对象,而依赖于我们的容器,也就是spring) ,目的是为了更好的扩展性和良好的可维护行。
四.依赖注入(以及几种配置文件加载方式)
动态的来实例化对象,用到的时候,实例化对象
第一种是实现接口的方式
第二种实现静态工厂的方式来实例化对象
在Spring容器中(applicationContext.xml)
id:id是bean的唯一标识符,必须唯一
class:表示需要构造的类的全路径
若要将一个对象1传递给另一个对象2的set方法,需要使用
name : 对象1的在对象2中set方法对属性名称
ref:将创建的对象注入到set方法中
五.三种实例化bean的方式(使用p命名空间来进行赋值)
三种加载Spring容器的方式
第一种:参数是你当前配置文件的路径(类路径)
第二种:用全路径的方式来加载配置文件,这个参数传递的就是你当前配置 文件的全路径.
这是用静态工厂模式来实例化对象
这是用非静态工厂模式来实例化对象
第三种:BeanFactory来加载配置文件,参数是全路径
六. 依赖注入 手动装配(set 构造)
1.装配List集合(数组相似)
2.装配set集合
3.装配map集合
4.用P来注入值的方式
xmlns:p =“http://www.springframework.org/schema/p”
<bean id=“person” class=“com.offcn.entity.Person” p:pid=“2” p:pname=“bb”></bean>
5.构造来进行值得注入,是通过索引,这个索引是从0开始
<constructor-arg index=“0” value=“23344”></constructor-arg><constructor-arg index=“1” value=“dmdmmd”></constructor-arg>
6.注解
使用xml配置文件:
使用属性setter方法注入
使用构造器注入
使用注解:
@Autowired:
1.默认按类型进行装配
2.获取该注解的铸锻的类型xxxxDao( dao层固定注解)
@Resource
1.默认按名称装配
@Qualifier(“XXXDao”)
用JAVA的注解来进行装配,jdk的版本必须在1.6以上
2.标注在set方法上
@Service用于标注业务层组件
@Controller用于标注控制层组件
@Repository用于标注数据访问组件,即DAO组件