Springの基本原理

28995 ワード

一:spring基本概念
1)struts 2はwebフレームで、hibernateはormフレームです.
2)スプリングは容器フレームであり、beanを作成し、bean間の関係を維持する.
3)スプリングは、ウェブ層、持久層、ビジネス層、dao層、springは、それぞれの層のコンポーネントを構成し、各層の関係を維持することができる.
二:spring核心原理
1.IOC制御反転
概念:制御権はオブジェクト自身からコンテナに移り、コンテナによって構成ファイルに従ってオブジェクトインスタンスを作成し、各オブジェクトの依存関係を実現する.
コア:bean工場
2.AOP面向けプログラミング
a.スタティックエージェント
各具体的な種類によって、それぞれ代理種類を作成します.
一つのインターフェースに基づいて代理クラスを作成する.
b.ダイナミックエージェント
一態様に対してInvocationHandlerを作成し、JDK反射パッケージのProxy類を借りて各種インターフェースのために動的に対応するプロキシクラスを生成する.
簡単なSpring入門事例
1.クラスを作成する:UserService
  1. "font-size:18px;"> package com.cloud.service;
  2. public class UserService {
  3. private String name;
  4. public String getName() {
  5. return name;
  6. }
  7. public void setName(String name) {
  8. this.name = name;
  9. }
  10. public void sayHello(){
  11. System.out.println( "hello:"+name);
  12. }
  13. }

2. :applicationContext.xml

  1. <beans xmlns="http://www.springframework.org/schema/beans"
  2. xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc= "http://www.springframework.org/schema/mvc"
  3. xmlns:context= "http://www.springframework.org/schema/context"
  4. xmlns:aop= "http://www.springframework.org/schema/aop" xmlns:tx= "http://www.springframework.org/schema/tx"
  5. xsi:schemaLocation= "http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
  7. http://www.springframework.org/schema/mvc
  8. http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
  9. http://www.springframework.org/schema/context
  10. http://www.springframework.org/schema/context/spring-context-3.2.xsd
  11. http://www.springframework.org/schema/aop
  12. http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
  13. http://www.springframework.org/schema/tx
  14. http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">
  15. <bean id="userService" class="com.cloud.service.UserService">
  16. <property name="name">
  17. <value>SpringName value>
  18. property>
  19. bean>
  20. beans>

3. :Test

  1. "font-size:18px;"> package com.cloud.test;
  2. import org.springframework.context.ApplicationContext;
  3. import org.springframework.context.support.ClassPathXmlApplicationContext;
  4. import com.cloud.service.UserService;
  5. public class Test {
  6. public static void main(String[] args) {
  7. ApplicationContext ac = new ClassPathXmlApplicationContext( "applicationContext.xml");
  8. UserService userService = (UserService) ac.getBean( "userService");
  9. userService.sayHello();
  10. }
  11. }

:spring

1. spring new , spring
2.spring
bean(action/service/domain/dao), bean bean , beangetBean(id), .