??????Spring?У?XML????е?bean?????????Spring IOC??????????????????汾??Spring?У???????XML???????????????????????????????????Spring 2.5???????????????????XML??????????XML??????????
??????汾?д?XML???????IOC
??????????????????????£?
????<bean id="userDao" class="com.springapp.mvc.dao.UserDao">
????</bean>
????<bean id="userService" class="com.springapp.mvc.service.impl.UserServiceImpl">
????<property name="userDao" ref="userDao"></property>
????</bean>
????UserServiceImpl????????£?
????public class UserServiceImpl implements UserService {
????public UserDao getUserDao() {
????return userDao;
????}

????public void setUserDao(UserDao userDao) {
????this.userDao = userDao;
????}

????private UserDao userDao;

????public User getUserById(int id){

????return userDao.getUserById(id);
????}

????public int getUserCount(){
????return userDao.getUserCount();
????}
????}
???????????????<property name="userDao" ref="userDao"></property>???????????UserServiceImpl???е?userDao???userDao???bean????????UserServiceImpl???е???userDao???????????????com.springapp.mvc.dao.UserDao???????
????????????????
????????????????£?
????<bean id="userDao" class="com.springapp.mvc.dao.UserDao">
????</bean>
????<bean id="userService" class="com.springapp.mvc.service.impl.UserServiceImpl">
????</bean>
????UserServiceImpl????????£?
????public class UserServiceImpl implements UserService {
????@Autowired
????private UserDao userDao;

????public User getUserById(int id){
????return userDao.getUserById(id);
????}

????public int getUserCount(){
????return userDao.getUserCount();
????}
????}
????????@Autowired????????xml??<property name="userDao" ref="userDao"></property>?????????????????????@Autowired???????????byType????????????????ε??????xml???????bean???????????????UserServiceImpl ???е?userDao?UserDao???????????????????bean?в???????????UserDao??bean??
?????????????????????????????????????????bean????????????????????????ByName??????????ε?????????????id??bean??????XML?????
????<bean id="userDao1" class="com.springapp.mvc.dao.UserDao">
????</bean>
????<bean id="userDao2" class="com.springapp.mvc.dao.UserDao">
????</bean>
????<bean id="userService" class="com.springapp.mvc.service.impl.UserServiceImpl">
????</bean>
?????????UserServiceImpl????????????????????????????
????@Autowired
????private UserDao userDao1;

????@Autowired
????private UserDao userDao2;
????????????????????????????????Щ?????????а?????????????bean??????????е??????????????????????@Autowired??@Qualifier?????????@Qualifier??????????bean???????
????@Autowired
????@Qualifier("userDao1")
????private UserDao userDao;
???????и??????????@Resource:
????@Resource(name = "userDao1")
????private UserDao userDao;
???????????IOC?????????ο???????£?д????????
?????????Spring?е??÷?????????????????????????????????Spring??????????IOC??????
????Spring IOC??????
????1.????Spring????bean????????????????bean???????
????2.Spring????????????е?context:component-scan??????????????????????е????д????????
????3.?????????????ж??????????????????@Autowired??@Resource????????У?????е?4???????
????4.???????????????????????÷????????????λ??????????????bean?????
???????????????????????Spring???????????Щ????
????????????????????
??????????????????????@Resource??????????@MyAutowired?????????£?
????@Retention(RetentionPolicy.RUNTIME)
????@Target({ElementType.TYPE??ElementType.FIELD})
????@Documented
????public @interface MyAutowired {
????public String name() default "";

????public String value() default "";
????}
?????????????????
????<?xml version="1.0" encoding="UTF-8"?>
????<beans xmlns:context="http://www.springframework.org/schema/context">
????<context:component-scan id="test" class="fengzheng.Test"/>
????<bean id="tomoto" class="fengzheng.Tomoto"></bean>
????</beans>
????????bean??Spring??bean???????????????context:component-scan??Spring?????????base-package?????????????????????????μ????????????????????????????????????????class??????????????????
????????????е?tomoto bean????壺
????package fengzheng;
????public class Tomoto {
????public void SayHello(){
????System.out.println("hello I'm tomoto");
????}
????}
?????????????fengzheng.Test???壬???????????????
????package fengzheng;
????import fengzheng.fzAnnotation.MyAutowired;
????public class Test {
????@MyAutowired(name = "tomoto")
????private Tomoto tomoto;
????public void Say(){
????tomoto.SayHello();
????}
????}