1.快速体验Spring注解开发
还是利用上一篇Spring博客的例子
1.在applicationContext.xml配置文件中加入包扫描
<context:component-scan base-package="com.wx.springsource1"/>
2.在相关的类上添加注解:
@Component("userDao")
public class UserDaoImp implements UserDao {
@Override
public void sayHello() {
System.out.println("hello");
}
}
测试:
// 创建 Spring 的工厂类:
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
// 通过工厂解析 XML 获取 Bean 的实例.
UserDao userDao = (UserDao) applicationContext.getBean("userDao");
userDao.sayHello();
2.Spring的Bean管理中常用的注解
1.作用在类上的
Spring 中提供@Component 的三个衍生注解:(功能目前来讲是一致的)
@Controller :WEB 层
@Service :业务层
@Repository :持久层
这三个注解是为了让标注类本身的用途清晰,Spring 在后续版本会对其增强
2.作用在属性上的(使用注解注入的方式,可以不用提供 set 方法)
@Value :用于注入普通类型.
@Autowired :自动装配,默认按类型进行装配,按名称注入(@Qualifier:可以强制使用名称注入)
@Resource 相当于@Autowired和@Qualifier
3.Bean 的作用范围的注解:
@Scope:
singleton:单例
prototype:多例
4.Bean 的生命周期的配置:
@PostConstruct :相当于 init-method
@PreDestroy :相当于 destroy-method
Spring 的 Bean 管理的方式的比较:
两种方式的对比结果:XML 和注解,但是在实际开发中Bean 有 XML 配置.但是使用的属性使用注解注入.
XML :结构清晰.
注解 :开发方便.(属性注入.)