`
hamburg
  • 浏览: 116029 次
  • 来自: 不污染一方土地
社区版块
存档分类
最新评论

spring 基本配置 转载

    博客分类:
  • Java
阅读更多
一,基本环境配置

1,下载SpringFramework最新版本,并在classpath中加入Spring.jar,目前已经发展到1.2版。
2,下载SpringFramework所所依赖的其它jar包,例如common-logging.jar等等。
3,Spring采用Apache common logging,并结合Apache log4j作为日志输出组件,因此需要在classpath中创建log4j.properties文件,并做相应的配置,例如:
log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%c{1} - %m%n

二,Bean配置文件

1,在classpath中需要创建一个bean配置文件(并非强制),用于描述哪些对象需要通过Spring来管理以及这些对象之间的关系等等,可以是一个xml文件,也可以是一个properties文件。
1)Xml配置文件的一个例子:

2)Properties配置文件的一个例子:


2,Xml形式的bean配置文件语法
文件头声明:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC  "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans></beans>,最外层标签,在文件头中定义。
<bean></bean>,bean定义的标签,是最为常用的标签之一。其常用属性如下:
Id,bean的唯一标识,用于bean对象的获取。
name,bean的名称,用于bean对象的获取。
class,bean实例化时所对应的java类。
singleton,取值为true/false,标识bean是否为单一实例,默认值为true
autowire,bean属性间非显示引用时,自动进行引用的方式,取值范围byType、byName、constructor
dependency-check,在设置了autowire时有效,告诉容器在自动进行引用时的检查规则,取值范围objects、simple、all
<property></property>,配置bean属性的标签。
name,属性的名称,一般和bean所对应的类中的属性的名称相同。
<value></value>,配置属性的值,一般与property配套使用,其值一般为实体值,例如
<property name=“url”>
    <value>http://www.google.com</value>
</property>
<ref/>,配置属性的值,一般与property配套使用,其值一般为对象。
bean,ref的值所指向的对象的bean的名称。
   例如:
   <property name=“userDao”>
       <ref bean=“UserDao”/>
   </property>
例子:


<list></list>,如果bean的属性中有列表或数组对象,则通过该标签和value或ref标签合用,将值一一列出,例如:
<property name=”myRefArray”>
      <list>
               <ref bean=”myInventoryManager”/>
               <ref bean=”yourInventoryManager”/>
          </list>
   </property>

<map></map>,如果bean的属性中有map对象,则通过该标签和entry与value或ref标签合用,将值一一列出,例如:
<property name=”myValueMap”>
           <map>
                <entry key=”myMapKey”>
                      <value>myMapValue</value>
                </entry>
                <entry key=”yourMapKey”>
                      <value>yourMapValue</value>
                </entry>
           </map>
      </property>

例子:



三,配置环境加载

1,配置环境的加载,主要是读取bean配置文件,并将各个bean初始化。
初始化过程由应用程序自己来进行,一般分为两种情况:xml形式bean配置文件的加载和property形式bean配置文件的加载。
1)property形式bean配置文件的加载:
ListableBeanFactory bf=new DefaultListableBeanFactory();
PropertiesBeanDefinitionReader reader =new PropertiesBeanDefinitionReader(bf);
Resource resource = new ClassPathResource(“beans-config.properties”);
reader.loadBeanDefinitions(resource);
UserDao udao=(UserDao)bf.getBean(“userdao”);

2)xml形式bean配置文件的加载:
Resource resource = new ClassPathResource(“beans-config.xml”);
ListableBeanFactory bf = new XmlBeanFactory(resource);
UserDao udao=(UserDao)bf.getBean(“userdao”);
ListableBeanFactory bf = new DefaultListableBeanFactory();
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(bf);
Resource resource = new ClassPathResource(“beans-config.xml”);
reader.loadBeanDefinitions(resource);
UserDao udao=(UserDao)bf.getBean(“userdao”);

2,为了支持J2EE web应用,Spring提供了一个ApplicationContext对象,该对象除了提供bean的获取之外,还可以提供对Resource Bundle支持,对一些应用事件的支持等等。 此时bean的配置文件一般放在WEB-INF目录下。
为了在J2EE服务启动时,自动加载Spring环境,需要在web.xml中配置一个listener
      <web-app>
       <listener>
      <listener-class> 
       org.springframework.web.context.ContextLoaderListener
      </listener-class>
       </listener> </web-app>

那么在servlet、jsp、filter或Struts Action中可以按照下面的方式访问:
WebApplicationContext wac=WebApplicationContextUtils.getWebApplicationContext(servletContext);
UserDao udao=(UserDao)was.getBean(“userdao”);
一般来说经典的Web MVC框架,例如Struts、SpringMVC等都提供了自己方式,可以将servlet或action做为pojo来让Spring统一管理,这样就不需要手工加载context并获取对象了。

分享到:
评论

相关推荐

    Spring Security3.1 最新配置实例 (转载)

    **Spring Security 3.1 最新配置实例** Spring Security 是一个功能强大且高度可定制的 Java 安全框架,用于处理 Web 应用程序的安全需求。在 Spring Security 3.1 版本中,该框架提供了许多关键特性,如认证、授权...

    springmybatis

    orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点: 1. 从配置文件(通常是XML配置文件中)得到 sessionfactory. 2. 由sessionfactory 产生 session 3. 在session 中完成对数据的增删改...

    【转载】Myeclipse10下搭建SSH框架(图解)

    - 由于Spring管理Hibernate配置,所以不需要创建SessionFactory类。配置数据库连接,可以选择在DB Browser中新建数据库连接。 4. **集成Struts2.1** - 右键项目,选择`MyEclipse` -&gt; `Project Capabilities` -&gt; `...

    不需要应用服务器的J2EE【转载】

    DataSource是一个接口,用于管理和提供数据库连接,通常由应用服务器提供,但在Spring框架中,可以独立配置。 3. **事务管理**:为了确保数据的一致性,系统使用JTA(Java Transaction API)和JTA/XA事务来处理银行...

    JAVA数据库连接大全-转载

    连接池可以通过Spring框架的DataSource配置进行集成,或者在应用的配置文件中指定连接池的相关属性。 以上就是关于Java数据库连接及连接池的一些基础知识,具体博客内容可能还包括更详细的示例代码和最佳实践,如...

    DWR中文文档v0.9

    - **4.2.4 使用Spring配置DWR** - 展示了如何在Spring配置文件中配置DWR。 - **4.3 DWR与JSF** - **4.3.1 JSFCreator** - 介绍了JSFCreator元素的用途。 - **4.3.2 ServletFilter** - 解释了如何配置Servlet...

    转载,若依快速开发框架很不错,详情请看https://www.ruoyi.vip/

    Ruoyi 快速开发框架是一款基于Java技术的开源...以上只是RuoYi快速开发框架的一些基本知识点,实际使用时还需要深入学习其文档,理解并掌握各个组件的用法和配置,以便更好地利用这个框架来提升开发效率和项目质量。

    本项目是基于SpringBoot的线上宠物物资购买系统,为个人毕业设计,未经允许禁止转载.zip

    SpringBoot是Java生态系统中的一款流行框架,它简化了Spring应用的初始搭建以及开发过程,提供了“开箱即用”的特性,包括自动配置、内嵌Web服务器(如Tomcat)等,极大地提高了开发效率。 【描述】提到这是个人的...

    Java 最常见 200+ 面试题全解析:面试必备.pdf

    11. SpringBoot/SpringCloud:SpringBoot简化了Spring应用的配置和部署,而SpringCloud则是云环境下微服务架构的一整套解决方案。 12. Hibernate:作为Java对象关系映射工具,Hibernate简化了数据持久化的复杂性,...

    Java面试资料大集合

    - **Spring框架**:依赖注入(DI)、AOP、事务管理等核心概念。 - **MyBatis**:持久层框架,动态SQL和映射文件的使用。 - **Maven或Gradle**:构建工具的使用和配置。 9. **数据库** - **SQL语句**:增删改查...

Global site tag (gtag.js) - Google Analytics