Spring是一个分层的JAVA轻量级开源框架。了解注解可以提高开发的效率。
控制反转——Spring通过一种称作控制反转(IoC)的技术促进了低耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
面向切面——Spring提供了面向切面(AOP)的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
@Repository("DaoName")
--在dao层注入,放在dao类名的前一行
@Resource //j2ee的注解方式
--在类的内部使用,放在类的属性或set方法的前一行
@Service("ServiceName") //默认名字是简单类名首字母小写
@Transactional //事物注解
--service层中注入,放在service类名的前一行
@Controller("ActionName")
@Scope("prototype")//多例
--web表现层注入,放在Action类名的前一行
@Autowired //Action中注入的service,,标准的spring注解
@Autowired 与 @Resource 功能一样
使用注解开发需要在Spring配置文件中开启注解扫描。
<!-- Service组件扫描 -->
<context:component-scan base-package="packegeName"/>
<!-- 支持spring注解 -->
<context:annotation-config/>
在Dao中注入sessionFactory
@Resource
public void setMySessionFactory(SessionFactory sessionFactory){
super.setSessionFactory(sessionFactory);
}