java学习笔记——spring之ioc的练习

ioc的练习


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

    
    
    
    
        
        
        
        
        
    

    
        
    

    
    
        
        
        
        
        
        
    

    
    

    
    
        
        
        
        
        
    

    
    
    
    
    
        
        
        
    

    
    
    
    
    
                p:age="18" p:email="[email protected]"
          p:lastName="哈哈" p:gender="男">
     

 

 

=========================================================================================

 


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

    
        
        
        
    

    
        
        
            
            
        

        
        
        
            
            
                
            

        

    

    
        
    

    
        
        
            
            
                
                
                
                
            

        

        
        
            
            
                
                
                
                
                
                    
                        
                    

                

                
                    李四
                

                
            

        

        
        
            
            
                
                root
                123456
            

        

    

    
    
        
        
    

    
    
        
        
        
        
        
            
                
            

        

        
            李四
        

    

    
    
    
        
        
        12
        
    

    
    
    
        
        
        
        
    

    
    
    
    
    
        
        
        
        
    

    
    
    
        
    

    

 

 

=============================================================================================

 


    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">
    
    
    
    
    
    
    

    
    
    
    
    
    
    
    
             factory-method="getAirPlane">
        
        
    

    
    
             class="com.atguigu.factory.AirPlaneInstanceFactory">
        
    
             factory-bean="airPlaneInstanceFactory"
        factory-method="getAirPlane">
        
    

    
    
             class="com.atguigu.factory.MyFactoryBeanImple">

 

================================================================================================

 


    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">

    
             destroy-method="myDestory" init-method="myInit" >
        
    
    
    
    

 

================================================================================================

 


    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-4.0.xsd">
    
    
    
    
    
    
    
    
    
        
        
        
        
        
    

    
    
        
    


 

================================================================================================

 


    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">


 


    
        
        
    

    
    
    
    
    
    
    

    
    
    
    
        
    

    
        
    

    
        
    

    
    
    
    
         
         
         
         
         
         
         
        
        
        
    


 

================================================================================================

 

实验15:Spring注解@Component、@Repository、@Service、@Controller如果 Web 应用程序采用了经典的三层分层结构的话,最好在持久层、业务层和
控制层分别采用 @Repository、@Service 和 @Controller 对分层中的类进行注释,而用 @Component 对那些比较中立的类进行注释通过注解,如果一个
类带了@Service注解,将自动注册到Spring容器,不需要再在applicationContext.xml文件定义bean了,分别创建
Dao、Service、Controller★

例如:

@Controller("BookServlet01")//将本类的对象命名为BookServlet01并添加到ioc容器中,如果不命名将使用默认的名字即类名首字母小写
@Scope(value="prototype")//设置从容器中获取本类的对象时是多实例的,如果不设置,默认为单实例
public class BookServlet {
    @Qualifier("bookService01")
    @Autowired(required=false)
    private BookService bookService;
    
    
    public BookServlet(BookService bookService) {
        super();
        this.bookService = bookService;
    }


实验16:使用context:include-filter指定扫描包时要包含的类


    
    


实验17:使用context:exclude-filter指定扫描包时不包含的类


    
    

    
    

==============================================================================================

 

实验18:使用@Autowired注解实现根据类型实现自动装配★
实验19:如果资源类型的bean不止一个,
        默认根据@Autowired注解标记的成员变量名作为id查找bean,进行装配★
实验20:如果根据成员变量名作为id还是找不到bean,
        可以使用@Qualifier注解明确指定目标bean的id★
实验21:在方法的形参位置使用@Qualifier注解
实验22:@Autowired注解的required属性指定某个属性允许不被设置

   
    
    

 

在方法和方法的形参位置使用@Autowired与@Qualifier注解

①这个方法会在bean对象创建的时候自动执行;

②这个方法中的每个形参都会自动注入

java学习笔记——spring之ioc的练习_第1张图片

 

===========================================================================================

 

实验23:测试泛型依赖注入★

 ① Book.java

package com.gome.bean;

public class Book {

}

② User.java

package com.gome.bean;

public class User {

}

③ BaseDao.java

package com.gome.dao;

/**
 * 定义了基本的增删改查方法
 * @author lfy
 *
 * @param
 */
public abstract class BaseDao {
    
    public abstract void save();

}

④ BookDao.java

package com.gome.dao;

import org.springframework.stereotype.Repository;

import com.gome.bean.Book;

@Repository
public class BookDao extends BaseDao{

    @Override
    public void save() {
        // TODO Auto-generated method stub
        System.out.println("BookDao....保存图书。。。");
    }

}

⑤ UserDao.java

package com.gome.dao;

import org.springframework.stereotype.Repository;

import com.gome.bean.User;

@Repository
public class UserDao extends BaseDao{

    @Override
    public void save() {
        // TODO Auto-generated method stub
        System.out.println("UserDao...保存用户....");
    }
}

⑥ BaseService.java

package com.gome.service;

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

import com.gome.dao.BaseDao;


public class BaseService {
    @Autowired
    private BaseDao baseDao;
    
    public void save(){
        System.out.println("自动注入的dao:"+baseDao);
        baseDao.save();
    }

}

⑦ BookService.java

package com.gome.service;

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

import com.gome.bean.Book;
import com.gome.dao.BaseDao;
import com.gome.dao.BookDao;

@Service
public class BookService extends BaseService{
    
}

⑧ UserService.java

package com.gome.service;

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

import com.gome.bean.User;
import com.gome.dao.UserDao;

@Service
public class UserService extends BaseService{

}

⑨ IOCTest.java

public class IOCTest {
    
    

    @Test
    public void test() {
        
        ApplicationContext ioc = new ClassPathXmlApplicationContext("applicationContext.xml");
        BookService bookService = ioc.getBean(BookService.class);
        UserService userService = ioc.getBean(UserService.class);
        
        bookService.save();
        userService.save();

运行结果:

java学习笔记——spring之ioc的练习_第2张图片

 
 
G
M
T
 
 
检测语言世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语信德语修纳语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语卢森堡语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语吉尔吉斯语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语夏威夷语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语库尔德语弗里西语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语普什图语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语科萨科西嘉语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苏格兰盖尔语苗语英语荷兰语菲律宾语萨摩亚语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿姆哈拉语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语
 
世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语信德语修纳语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语卢森堡语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语吉尔吉斯语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语夏威夷语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语库尔德语弗里西语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语普什图语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语科萨科西嘉语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苏格兰盖尔语苗语英语荷兰语菲律宾语萨摩亚语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿姆哈拉语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语
 
 
 
 
 
 
 
 
 
文本转语音功能仅限200个字符
 
 
选项 : 历史 : 反馈 : Donate 关闭

 

java学习笔记——spring之ioc的练习_第3张图片 

你可能感兴趣的:(java学习笔记)