Java学习笔记 - Spring Framework的搭建与测试

Spring 4.1.6

一、下载

Spring下载搞得很麻烦啊!!(鼓励使用maven管理,看来以后也得学习下怎么使用)

1、官网:

http://spring.io/

2、下载地址:

http://repo.spring.io

3、下载帮助:

http://www.cnblogs.com/yjmyzz/p/3847364.html

http://jingyan.baidu.com/article/a65957f49670ac24e67f9b85.html

二、配置:

需要commons logging与log4j日志支持。

1、下载日志jar包

commons logging:

http://commons.apache.org/proper/commons-logging/download_logging.cgi

log4j:

http://logging.apache.org/log4j/1.2/

2、配置

2.1 导入jar包

将Spring解压后的libs目录下的类似spring-*-4.1.6.RELEASE.jar的文件拷贝到当前项目WEB-INF/lib目录下;

将commons logging目录下的commons-logging-1.2.jar文件拷贝到当前项目WEB-INF/lib目录下;

将log4j目录下的log4j-1.2.17.jar文件拷贝到当前项目WEB-INF/lib目录下;

2.2 配置日志文件

src目录下创建log4j.properties文件(这样不用添加路径,算是取巧吧),初始内容为(不固定,自己配置时使用下面的内容就成功了):

# 输出级别,输出错误信息,输出源为标准输出源stdout
log4j.rootLogger=WARN, stdout
# 将stdout输出到控制台中
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
# 日志输出的布局类
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# 指定日志输出内容的格式
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{2}:%L - %m%n

注意:

(1)后缀名为properties的配置文件在eclipse中查看时中文会为乱码或十六进制码,解决方法参考

http://wenku.baidu.com/link?url=rNHXACgrvHaPB-RXZ3mU9ZblXpBE49z37_UeWz8MnazpRWx7xGitwJMmaVB2mDD9mVYJjlii5mpAKYbf1hrCkcDmN8oQ-FoI3M7trnj29_W

(2)插件的安装方法

http://www.cnblogs.com/kevinkim/archive/2012/11/09/2762112.html

(3)Eclipse外部jar包导入

Eclipse - http://blog.csdn.net/mazhaojuan/article/details/21403717

Eclipse EE - 直接拷贝到WEB-INF/lib文件夹下即可,会自动作为Web App Libraries

(4)关于配置文件的路径(classpath)说明

http://blog.csdn.net/haohaodigua/article/details/17582877

三、测试

Inversion of Control (IoC) = Dependency injection (DI)

1. IoC container

说明:配置文件applicationContext.xml文件也放置在src目录下,与log4j.properties相同

(1) 通过BeanFactory获取Bean(不推荐使用)

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

Resource resource = new ClassPathResource("applicationContext.xml");
BeanFactory factory = new XmlBeanFactory(resource);
User user = (User)factory.getBean("user");                             //此处user为Bean的属性id的值,即对象User的实例

(2) ApplicationContext接口继承BeanFactory,类 ClassPathXmlApplicationContext、              FileSystemXmlApplicationContext、WebApplicationContext分别实现了此接口,因此可以通过ApplicationContext获取Bean

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
User user = (User)context.getBean("user", User.class);                <span style="font-family: Arial, Helvetica, sans-serif;">//此处user为Bean的属性id的值,即对象User的实例</span>

(3) Web程序中在web.xml配置后不需要实例化Container,配置如下:

<pre name="code" class="html">  <servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
   <span style="font-family: Arial, Helvetica, sans-serif;">      </span><span style="font-family: Arial, Helvetica, sans-serif;"><!--此处也可以使用</span><span style="font-family: Arial, Helvetica, sans-serif;">classpath:applicationContext.xml或绝对路径,能找到即可--!></span>
      <param-value>classpath*:applicationContext.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
 

2、 Bean与Spring的依赖注入

(1) Setter注入
<bean id="user" class="nautilus.study.spring.javabean.User">
  <property name="name">
    <value>小明</value>
  </property>
  <property name="age">
    <value>25</value>
  </property>
  <property name="sex">
    <value>男</value>
  </property>
</bean>
(2) Constructor注入
<bean id="user2" class="nautilus.study.spring.javabean.User">
  <constructor-arg>
    <value>小明</value>
  </constructor-arg>
  <constructor-arg>
    <value>男</value>
  </constructor-arg>
  <constructor-arg>
    <value>25</value>
  </constructor-arg>
</bean>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值