spring 配置、架构

来源:互联网 发布:你最努力的时候知乎 编辑:程序博客网 时间:2024/05/16 11:23

1.引:

spring-framework-2.0-with-dependencies\dist\spring.jar+

spring-framework-2.0-with-dependencies\lib\jakarta-commons\commons-logging.jar+

spring-framework-2.0-with-dependencies\lib\log4j\log4j-1.2.14.jar到工程中

2.拷贝spring-framework-2.0-with-dependencies\samples\jpetstore\war\WEB-INF\applicationContext.xml文件到工程src目录下(并且修改)。

Eg:

<beansxmlns="http://www.springframework.org/schema/beans"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xmlns:aop="http://www.springframework.org/schema/aop"

         xmlns:tx="http://www.springframework.org/schema/tx"

         xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.0.xsd

          http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd

          http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

    <beanid=""class="">

    </bean>

</beans>

3.拷贝spring-framework-2.0-with-dependencies\samples\jpetstore\war\WEB-INF\log4j.properties到src目录下。

4.完成dao层和service层接口代码和实现代码。

5.配置applicationContext.xml

Eg:

<beanid="myuserdao"class="com.etc.dao.impl.UserDaoImpl"/>

    <beanid="myservice"class="com.etc.service.impl.UserServiceImpl">

       <propertyname="userdao"ref="myuserdao"></property>

    </bean>

6.调用:

BeanFactory beanfactory = newClassPathXmlApplicationContext("applicationContext.xml");

       IUserService userservice = (IUserService)beanfactory.getBean("myservice");

       userservice.finduser();

}


 

7.spring注入方式:

   Set方法注入

   构造方法注入

Eg:

<beanid="myservice"class="com.etc.service.impl.UserServiceImpl">

       <!--<propertyname="userdao"ref="myuserdao"></property><!--set 方法注入 -->

       <!--<constructor-argindex="0"ref="myuserdao"/> 构造方法注入 -->

    </bean>

自动注入:

<beansxmlns="http://www.springframework.org/schema/beans"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xmlns:aop="http://www.springframework.org/schema/aop"

         xmlns:tx="http://www.springframework.org/schema/tx"

     xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.0.xsd

          http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.0.xsd

          http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-2.0.xsd"

           default-autowire="byType">

byType:根据类型自动注入

byname:根据名字自动注入

constructor:根据构造方法自动注入

普通属性注入:

<beanid="myservice"class="com.etc.service.impl.UserServiceImpl">

       <propertyname="str1"value="我是普通属性注入"></property>

</bean>

普通属性集合注入:

       <propertyname="str1">

       <list>

           <value>str2</value>

           <value>str3</value>

           <value>str4</value>

       </list>

       </property>

Spring作用域:

<bean id="myservice"class="com.etc.service.impl.UserServiceImpl" scope=""/>

Prototype:每次拿此实例都是新实例

Singleton:整个应用程序中只有一个实例

Request:一次web请求只有一个实例

Session:一个会话只有一个实例

Global seesion :只有一个全局的实例