Spring--Spring入門

Spring的概述-什麼是Spring

  • ·Spring 是一個開源框架
  • ·Spring 爲簡化企業級應用開發而生.使用Spring能夠使簡單的
  • JavaBean 實現之前只有EJB才能實現的功能
  • ·Spring 是JavaSE/EE的一站式框架
  • ·方便解耦,簡化開發
  • -Spring就是一個大工廠,能夠將全部對象建立和依賴關係維護,交給Spring管理
  • ·AOP編程的支持
  • -Spring提供面向切面編程,能夠方便的實現對程序進行權限攔截、運行監控等功能
  • ·聲明式事務的支持
  • -只須要經過配置就能夠完成對事務的管理,而無需手動編程

Spring的概述-Spring的優勢

  • ·方便程序的測試
  • -Spring對Junit4支持,能夠經過註解方便的測試Spring程序
  • ·方便集成各類優秀框架
  • -Spring不排斥各類優秀的開源框架,其內部提供了對各類優秀框架(如:Struts、Hibernate、MyBatis等)的直接支持
  • ·下降JavaEEAPI的使用難度
  • -Spring 對JavaEE開發中很是難用的一些API(JDBC、JavaMail、遠程調用等),都提供了封裝,使這些API應用難度大大下降

Spring的概述-Spring的模塊

 

Spring的Ioc的底層實現

 Spring的Ioc的入門案例

  • 使用idea建立新的maven項目
  • 在pom.xml中添加依賴
<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.3.7.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.3.7.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
      <version>4.3.7.RELEASE</version>
  </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
      <version>4.3.7.RELEASE</version>
    </dependency>
  <dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.2</version>
  </dependency>
  <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
  </dependency>
</dependencies>
  • 建包

 

UserServicespring

public interface UserService {

    public void sayHello();
}

  UserServiceImplexpress

public class UserServiceImpl implements  UserService{
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    //添加屬性
    private String name;
    @Override
    public void sayHello() {
        System.out.print("hello spring" + name);
    }
}

  SpringDemo1編程

public class SpringDemo1 {
    @Test
    /**
     * 傳統方式開發
     */
    public void demo1(){
        //UserService userService = new UserServiceImpl();
        UserServiceImpl userService = new UserServiceImpl();
        //設置屬性 傳統方法要改代碼 就很差了
        userService.setName("張三");
        userService.sayHello();
    }

    @Test
    /**
     * 使用Spring 的方式
     */
    public void demo2(){
        //建立Spring的工廠
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        //經過工廠得到類
        UserService userService = (UserService) applicationContext.getBean("userService");

        userService.sayHello();
    }
}

   applicationContext.xmlapp

 

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- UserService的建立權交給了Spring-->
    <bean id="userService" class="com.windbag.ioc.demo1.UserServiceImpl">

        <!-- 設置屬性-->
        <property name="name" value="李四"></property>
    </bean>

</beans>
  • 測試

Spring IOC的快速入門案例

  • ·IOC Inverse of Control 反轉控制的概念,就是將本來在程序中手動建立UserService對象的控制權,交由Spring框架管理
  • ·簡單說,就是建立UserService對象控制權被反轉到了Spring框架
  • ·DI Dependency Injection 依賴注入的概念,就是在Spring建立這個對象的過程當中,將這個對象所依賴的屬性注入進去。(name)
相關文章
相關標籤/搜索