Spring--02(Spring 的 Bean 管理)
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 :結構清晰.
註解 :開發方便.(屬性注入.)