Spring框架中配置项

1、Spring容器分为两种类型:                                                                                   1)BeanFactory:(org.springframework.beans.factory.BeanFactory接口定义)是最简单的容器,提供了基本的DI(Dependency Injection)支持。最常用的BeanFactory实现就是XmlBeanFactory类,它根据XML文件中的定义加载beans,该容器从XML文件读取配置元数据并用它去创建一个完全配置的系统或应用。                                                        2)ApplicationContext应用上下文:(org.springframework.context.ApplicationContext)基于BeanFactory之上构建,并提供面向应用的服务。

2、ApplicationContext通常的实现:                                                                                  1)ClassPathXmlApplicationContext:从类路径下的XML配置文件中加载上下文定义,把应用上下文定义文件当做类资源。                                                                              2)FileSystemXmlApplicationContext:读取文件系统下的XML配置文件并加载上下文定义。                                                                                                                          3)XmlWebApplicationContext:读取Web应用下的XML配置文件并装载上下文定义。 

3、IOC的注入方式:1)构造器依赖注入;2)Setter方法注入

4、如何给Spring容器提供配置元数据                                                                                   1)XML配置文件  2)基于注解的配置   3)基于Java的配置@configuration,@Bean 

5、bean标签中的属性                                                                                                         idnameclass;                                                                                                     ini-method(Bean实例化后会立刻调用的方法);                                                             destory-method(Bean从容器移除和销毁前,会调用的方法);                                       factory-method(运行我们调用一个指定的静态方法,从而代替构造方法来创建一个类的实例);                                                                                                                     scope(Bean的作用域,包括默认singleton,prototype(每次调用都创建一个实例),request,session,global-session);                                                                 autowired(自动装配byName,byType,constructor,autodetect(首先阐释使用constructor自动装配,如果没有发现与构造器相匹配的Bean时,Spring将尝试使用byType自动装配))。

6、自动检测Bean                                                                                                              元素除了完成与一样的工作,还允许Spring自动检测Bean和定义Bean.元素会扫描指定的包和其所有子包,                                                                                      如:

标注Bean  注解如下:                                                                                                        @Component:通用的构造型注解,标注此类为Spring组件                                          @Controller:标识该类定义为SpringMVC  Controller                                                  @Repository:标识该类定义为数据仓库                                                                        @Service:标识该类定义为服务

7、Spring加载resources时:                                                                                              ​​Spring可以通过指定classpath*:与classpath:前缀加路径的方式从classpath加载文件,如bean的定义文件。classpath*:的出现是为了从多个jar文件中加载相同的文。classpath:只能加载找到的第一个文件。                                                                                                 用classpath*:需要遍历所有的classpath,所以加载效率会比较差一些,如果只使用classpath:,需要规划好资源文件的路径,尽量避免重名,导致资源文件加载不到的问题。  

不同前缀加载 含义

8、ContextLoaderListener 作用                                                                                          ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。

9、Spring在web.xml中的配置​                                                                                     

  1)一个web​中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。web.xml文件是用来初始化配置信息:比如Welcome页面、servlet、servlet-mapping、filter、listener、启动加载级别等。当你的web工程没用到这些时,你可以不用web.xml文件来配置你的Application。                                                                          2)当要启动某个web项目时,服务器软件或容器如(tomcat)会第一步加载项目中的web.xml文件,通过其中的各种配置来启动项目,只有其中配置的各项均无误时,项目才能正确启动。web.xml有多项标签,在其加载的过程中顺序依次为:context-param >> listener >> fileter >> servlet。(同类多个节点以出现顺序依次加载)。

     在实际项目中spring的配置文件applicationcontext.xml是通过spring提供的加载机制自动加载到容器中。在web项目中,配置文件加载到web容器中进行解析。目前,spring提供了两种加载器,以供web容器的加载一种是ContextLoaderListener,另一种是ContextLoaderServlet。这两种在功能上完全相同,只是前一种是基于Servlet2.3版本中新引入的Listener接口实现,而后一种是基于Servlet接口实现。             load-on-startup:

<listener>                                             <listener-class>org.springframework.context.ContextLoaderListenerlistener-class>                                              listener>

<servlet>                                            <servlet-name>contextservlet-name>                  <servlet-class>org.springframework.context.ContextLoaderServletservlet-class>     <load-on-startup>1load-on-startup>         servlet>

  文件夹out存放的是该项目下所有Module(模块)的编译结果。 target存放的是单个Module的编译结果。 如果为某个Module指定了编译结果的路径,则不会再输出到out文件夹中了。你在Project Structure中的Project选项卡中可以设置Project compiler output的目录。 Modules中选择某一个模块后,在右侧的Paths选项卡中可以设置该模块的Compiler output目录。

 





                             

                     




摘抄自公众号ImportNew  http://mp.weixin.qq.com/s/dl-Xqi5qdl-Qbg1g4fqEpQ


                                                                                                                        

你可能感兴趣的:(Spring框架中配置项)