spring整合web項目原理


1.實現思想:把加載配置文件和創建對象過程,在服務器啟動是完成。

2.實現原理:

(1)ServletContext對象

(2)監聽器

(3)具體說明

    -在服務器啟動時候,為每個項目創建一個ServletContext對象

    -在ServletContext對象創建時候,使用監聽器可以監聽到ServletContext對象在什么時候創建

    -使用監聽器聽到ServletContext對象創建的時候

        -加載spring配置文件,把配置文件配置對象創建

        -把創建出來的對象放到ServletContext域對象里面(setAttribute方法)

        -獲取對象時候,到ServletContext域得到(getAttribute方法)

二、注解創建對象

1.加載約束

beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

2.創建類並在xml中實現配置

<context:component-scan base-package="com.example.ano"></context:component-scan>

import org.springframework.stereotype.Component;

@Component(value="user")
public class User {
    public void add(){
        System.out.println("add---------");
    }
}

3.建一個測試類

package com.example.ano;

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

public class TestAno {
    @Test
    public void testUser() {
        ApplicationContext context = new ClassPathXmlApplicationContext(
                "bean1xml.xml");
        User user1=(User) context.getBean("user");
        System.out.println(user1);
        user1.add();
    }

}

 注解注入對象:

1.創建service類,創建dao類,在service得到dao對象

(1)注入屬性第一注解@Autowired

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service(value="userService")
public class UserService {
    //得到dao對象
    //1.創建dao屬性
    //在dao屬性上注解完成對象扥注入
    @Autowired
    private UserDao userDao;
    //使用注解方式不需要set方法
    public void add(){
        System.out.println("service-----------");
        userDao.add();
    }
}
import org.springframework.stereotype.Component;

@Component(value="userDao")
public class UserDao {
   public void add(){
       System.out.println("dao-----------.");
   }
}

(2)注入屬性第一注解

     //name屬性值寫注解創建Dao對象value值
    @Resource(name="userDao")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM