aopalliance-1.0.jarcommons-logging-1.1.1.jarspring-aop-3.2.0.RELEASE.jarspring-beans-3.2.0.RELEASE.jarspring-context-3.2.0.RELEASE.jarspring-core-3.2.0.RELEASE.jarspring-expression-3.2.0.RELEASE.jar
<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-3.0.xsd"> <bean id="userDao" class="com.boya.spring.ioc.UserDao" /> <bean id="exampleBean" class="com.boya.spring.ioc.ExampleBean"> <property name="name" value="boya" /> <property name="userDao" ref="userDao" /> bean> beans>
public class UserDao {
public String getName() {
return "boya";
}
}
public class ExampleBean { private String name; private UserDao userDao; public void print(){ System.out.println("Name is :"+name); } public void userPrint(){ System.out.println("User name is :"+userDao.getName()); } //省略getter、setter方法 }
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); ExampleBean exampleBean = context.getBean("exampleBean", ExampleBean.class); exampleBean.print(); exampleBean.userPrint();
Name is :boyaUser name is :boya
<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-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:component-scan base-package="com.boya.spring.ioc" /> beans>
@Repository
public class UserDao {
public String getName() {
return "boya";
}
}
@Service
public class ExampleBean {
@Resource
@Value("boya")
private String name;
@Resource
private UserDao userDao;
public void print(){
System.out.println("Name is :"+name);
}
public void userPrint(){
System.out.println("User name is :"+userDao.getName());
}
}
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); ExampleBean exampleBean = context.getBean("exampleBean", ExampleBean.class); exampleBean.print(); exampleBean.userPrint();
Name is :boyaUser name is :boya
注解实现Bean配置主要用来进行如依赖注入、生命周期回调方法定义等,不能消除XML文件中的Bean元数据定义,且基于XML配置中的依赖注入的数据将覆盖基于注解配置中的依赖注入的数据。
注册注解处理器
• 方式一:bean
• 方式二: 命名空间
• 方式三: 命名空间
如果要使注解工作,则必须配置component-scan ,实际上不需要再配置annotation-config。