您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > spring基础文档
Spring框架一、spring基础1.spring是J2EE应用程序框架,是轻量级的IOC和AOP容器框架,主要针对javaBean生命周期进行管理。2.IOC(inversionofcontrol)控制反转,对象创建责任的反转。在spring中BeanFacrory是IOC的核心借口,负责实例化,定位,配置应用程序中的对象及建立这些对象间的依赖。XmlBeanFacotory实现BeanFactory接口,通过获取xml配置文件数据,组成应用对象及对象间的依赖关系。Spring有三种注入方式:set注入,构造器注入和接口注入。3.AOP,面向切面编程。AOP不同于面向对象编程,它更加注重的是操作的统一。例如,面向对象会将一个人提取出来,作为一个实体,而不会把人吃饭作为一个实体,而AOP正是这些相同操作的提取。4.spring的优点在使用spring之前,我们的service层若需要调用dao层的方法,则首先需要在service层创建一个dao的实例,然后才能调用相关方法。而在使用service之后,我们只需要将dao层的对象配置到XML文件中即可,对象的创建由框架来完成。二、依赖注入1.set注入:采用属性的set方法进行初始化,即为set注入。a)给普通字符类型赋值我们只需提供set属性方法,然后配置好可以让框架找到applicationContext.xml的beans标签。Beans中配置bean标签,指定id,class等,id没有要求,class的值为对象所在的完整路径。Bean标签中添加property标签,要求:name与属性名称一致,value即为我们需要给属性赋的值。例如:beanid=userActionclass=com.lsz.spring.action.Userpropertyname=usernamevalue=admin/property/beanb)给对象赋值同样需要提供对象的set方法,同时配置文件中要增加UserService的bean标签声明及User对象对UserService的引用。c)给list集合赋值同样需要提供对应的set方法,然后beanid=userActionclass=com.lsz.spring.action.Userpropertyname=usernamelistvaluezhang,san/valuevaluelisi/valuevaluewangwu/value/list/property/beand)给属性文件中的字段赋值提供set方法。Key值即为properties文件中的key。beanpropertyname=propspropspropkey=urljdbc:oracle:thin:@localhost:orl/proppropkey=driverNameoracle.jdbc.driver.OracleDriver/proppropkey=usernamescott/proppropkey=passwordtiger/prop/props/property/bean2.构造器注入注意类型和次序。三、自动装配配置bean的autowire属性,一般使用两个值:ByName:根据bean的name进行装配ByType:根据bean的统type属性装配。四、FactoryBean配置bean1.实现FactoryBean接口2.通过FactoryBean来配置bean的实例3.Properties配置FactoryBean的属性,但返回的是FactoryBean的getObject返回的实例。五、注解(annotation)注解是为了提高开发效率。不使用注解时,我们需要在applicationContext.xml文件中配置大量的bean标签,用来声明类对象。使用注解后则不必声明标签,只需要在对应的类前配置说明即可。Spring框架使用的是分层注解。持久层:@Repository服务层:@Service控制层:@Controller使用注解的步骤:1.在配置文件中增加命名空间和约束文件。2.告诉框架哪些类是需要注解的(告诉框架需要扫描的包)(1)context:component-scanbase-package=com.lsz.spring/扫描时可以添加属性context:include-filter和context:exclude-filter来指定包含哪些类和排除哪些类。使用这两个标签时常配合两个表达式:annotation和assignable。两者用法类似。例如:context:exclude-filtertype=”annotation”expression=”com.entity”//排除entity使用context:include-filter指定包含哪些表达式时,需要和use-default-filters配合使用。(2)自动装配时,使用注解关键字@Autowire(可以设置属性required=false来使得bean可以为空),@Resource等3.具体注解a)持久层注解@RepositorypublicclassUserDao{。。。}@Repository等同于配置文件中的beanid=userDaoclass=com.lsz.spring.UserDao/用来扫描这一个Dao类。b)服务层注解其中,@Resource对象关系间的组合,默认的是使用byName的方式进行装配,如果找不到关联的对象,再使用byType方式查找。@Service注解作用等同于配置文件中的beanid=testServiceclass=com.lsz.spring.UserService/c)控制层注解@Controller等同于配置文件中的beanid=uaclass=com.lsz.spring.UserAction/这三个层次的注解关键字都可以使用@component来代替,使用注解声明对象,默认情况下对象名称为类名称首字母小写。六、ModelAndView
本文标题:spring基础文档
链接地址:https://www.777doc.com/doc-2859845 .html