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:lastName="哈哈" p:gender="男">
=========================================================================================
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">
=============================================================================================
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
factory-method="getAirPlane">
================================================================================================
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
================================================================================================
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">
================================================================================================
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对象创建的时候自动执行;
②这个方法中的每个形参都会自动注入
===========================================================================================
实验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
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();
运行结果:
检测语言世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语信德语修纳语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语卢森堡语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语吉尔吉斯语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语夏威夷语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语库尔德语弗里西语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语普什图语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语科萨科西嘉语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苏格兰盖尔语苗语英语荷兰语菲律宾语萨摩亚语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿姆哈拉语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语 |
|
世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语信德语修纳语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语卢森堡语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语吉尔吉斯语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语夏威夷语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语库尔德语弗里西语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语普什图语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语科萨科西嘉语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苏格兰盖尔语苗语英语荷兰语菲律宾语萨摩亚语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿姆哈拉语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语 |
|
|
|
|
|
|
选项 : 历史 : 反馈 : Donate | 关闭 |