今天主要是通过一个简单的登录程序学习一些spring做基础的配置和功能。

I.spring的核心配置applicationContext.xml

关于bean的配置官方给出的最基础的配置文件如下:

    

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans.xsd">
  6.  
  7. <bean id="..." class="...">
  8. <!-- collaborators and configuration for this bean go here -->
  9. </bean>
  10.  
  11. <bean id="..." class="...">
  12. <!-- collaborators and configuration for this bean go here -->
  13. </bean>
  14.  
  15. <!-- more bean definitions go here -->
  16.  
  17. </beans>

下面简单的介绍下spring bean的相关配置: 

 (1)关于命名空间(xmlns)

  spring中命名空间大概有以下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans" //这表示默认命名空间
  3. xmlns:hdp="http://www.springframework.org/schema/hadoop"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xmlns:aop="http://www.springframework.org/schema/aop"
  6. xmlns:cache="http://www.springframework.org/schema/cache"
  7. xmlns:context="http://www.springframework.org/schema/context"
  8. xmlns:mvc="http://www.springframework.org/schema/mvc"
  9. xmlns:oxm="http://www.springframework.org/schema/oxm"
  10. xmlns:p="http://www.springframework.org/schema/p"
  11. xmlns:c="http://www.springframework.org/schema/c"
  12. xmlns:util="http://www.springframework.org/schema/util"
  13. xsi:schemaLocation="http://www.springframework.org/schema/beans
  14. http://www.springframework.org/schema/beans/spring-beans.xsd
  15. http://www.springframework.org/schema/aophdp
  16. http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
  17. http://www.springframework.org/schema/cache
  18. http://www.springframework.org/schema/cache/spring-cache.xsd
  19. http://www.springframework.org/schema/context
  20. http://www.springframework.org/schema/context/spring-context-3.1.xsd
  21. http://www.springframework.org/schema/mvc
  22. http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
  23. http://www.springframework.org/schema/util
  24. http://www.springframework.org/schema/util/spring-util-3.1.xsd
  25. http://www.springframework.org/schema/hadoop
  26. http://www.springframework.org/schema/hadoop/spring-hadoop.xsd">

  xmlns:全名是xml namespace,也即是为当前的这个xml指定命名空间。xmlns:xsi:是指当前xml所要遵循的标签规范.如上hdp, xsi, aop, cache, context,   mvc…都是当前xml要使用到的一个标签,后面就是指定标签所要遵循的规范。xsi:schemaLocation:指定的命名空间对应的验证文件,用来定义xml schema的地       址,也就是xml书写时需要遵循的语法。另外这 些命名空间并不需要我们一个一个写,只要我们导入了相应的jar,在Eclipse的工具下从Source切到Namespaces,         我们就可以很方便的勾选我们需要的标签了。

下面介绍几个常用的标签:

    1,xmlns:p:

     spring的p标签是基于XML Schema的配置方式,目的是为了简化配置方式。
     在XML文件头部添加xmlns:p="http://www.springframework.org/schema/p"即可使用。

     2.<!-- 自动扫描类包 使包中的spring注解起作用 -->

              <context:component-scan base-package="com.baobaotao.dao"/>

 (2)关于自动启用spring注解(注解将在后面的文章中谈到)

   <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/> 可以用于总动启动spring中的@Autowired         注解,加了该注解 的属性spring将会将其自动作为一个bean注入到spring容器中。

   <context:component-scan base-package="com.baobaotao.dao"/> 可以自动扫描包使被扫描的包中的注解被启用。

 (3)关于bean的注入

   1.<property>注入:

  1. <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
  2. <property name="dataSource" ref="dataSource"/>
  3. </bean>

   2.xmlns:p:简单注入:

  1. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
  2. destroy-method="close"
  3. p:driverClassName="com.mysql.jdbc.Driver"
  4. p:url="jdbc:mysql://127.0.0.1:3306/sampledb"
  5. ...
  6. />

或者:

  1. <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"
  2. p:dataSource-ref="dataSource"/>

II.spring的测试框架JUnit

 关于spring的测试框架后面将会细说。

running programmer——spring-01(初谈spring)的更多相关文章

  1. 【Spring】浅谈spring推荐构造器注入

    一.前言 ​ Spring框架对Java开发的重要性不言而喻,其核心特性就是IOC(Inversion of Control, 控制反转)和AOP,平时使用最多的就是其中的IOC,我们通过将组件交由S ...

  2. 【Spring】浅谈spring为什么推荐使用构造器注入

    一.前言 ​ Spring框架对Java开发的重要性不言而喻,其核心特性就是IOC(Inversion of Control, 控制反转)和AOP,平时使用最多的就是其中的IOC,我们通过将组件交由S ...

  3. Spring之初体验

                                     Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...

  4. 从prototype beandefinition 谈 spring 的关闭流程和 prototype 的特性

    背景介绍: 服务端期望使用 面向对象编程, 和 spring 结合的话只能是通过 prototype 的 bean 定义,并通过 getBean 获取. 优雅停机探究: 代码说明: 1. 类关系 Si ...

  5. 1.1浅谈Spring(一个叫春的框架)

    如今各种Spring框架甚嚣尘上,但是终归还是属于spring的东西.所以在这里,个人谈一谈对spring的认识,笔者觉得掌握spring原理以及spring所涉及到的设计模式对我们具有极大的帮助.我 ...

  6. 浅谈Spring中的Quartz配置

    浅谈Spring中的Quartz配置 2009-06-26 14:04 樊凯 博客园 字号:T | T Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在 ...

  7. 浅谈Spring的两种配置容器

    浅谈Spring的两种配置容器 原文:https://www.jb51.net/article/126295.htm 更新时间:2017年10月20日 08:44:41   作者:黄小鱼ZZZ     ...

  8. 浅谈Spring发展史

    1 码农的春天----------Spring来了 Spring官网 :http://www.springframework.org 关于Spring的发展起源要回溯到2002年,当时正是Java E ...

  9. 黑马_13 Spring Boot:01.spring boot 介绍&&02.spring boot 入门

    13 Spring Boot: 01.spring boot 介绍&&02.spring boot 入门 04.spring boot 配置文件 SpringBoot基础 1.1 原有 ...

随机推荐

  1. 转载:AbstractQueuedSynchronizer的介绍和原理分析

    简介 提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架.该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础.使用的方法是继承,子类通过 ...

  2. Python 和 R 数据分析/挖掘工具互查

    如果大家已经熟悉python和R的模块/包载入方式,那下面的表查找起来相对方便.python在下表中以模块.的方式引用,部分模块并非原生模块,请使用 pip install * 安装:同理,为了方便索 ...

  3. 【转载】推荐5款超实用的.NET性能分析工具

    来源:http://www.csdn.net/article/2012-11-23/2812174-5-Good-and-useful-.NET-Profilers 虽然.NET框架号称永远不会发生内 ...

  4. 如何为CriteriaOperator过滤对象转换为lambda表达式,即:linq to xpo的动态where语句

    How to convert the CriteriaOperator to a lambda expression, so, the latter expression can be used in ...

  5. fonts.googleapis.com 加载慢的解决方法

    把:fonts.googleapis.com 替换成 fonts.useso.com

  6. 在tomcat中配置jdk的不同版本

    在tomcat中配置jdk的不同版本---------------------------------------------------------------------------------- ...

  7. mongoDB3.0 索引 整理

    http://blog.csdn.net/louisliaoxh/article/details/51543552 相关mongo http://blog.csdn.net/LOUISLIAOXH/a ...

  8. java利用Scanner获取键盘输入

    首发地址:我的网易博客 在运行一个java程序的时候,可能我们需要在运行的时候传递一些参数进去...咋办呢... java提供了一个Scanner类,利用这个类,我们可以很方便的获取键盘输入的参数.. ...

  9. C语言局部变量和全局变量的区别。——Arvin

    局变量是使用相同的内存块在整个类中存储一个值. 全局变量的存在主要有以下一些原因:  1,使用全局变量会占用更多的内存(因为其生命期长),不过在计算机配置很高的今天,这个不成为什么问题,除非使用的是巨 ...

  10. python函数默认参数坑

    def add(a=3,b): print a,b add(4) 这样写的话,运行的话就会报错:SyntaxError: non-default argument follows default ar ...