spring
一、主要特性:
DI (依赖注入)
AOP (面向切面编程)
每个应用程序都是由多个类组成,这些类之间相互协作完成特定的业务逻辑。通常,每个对象负责管理
与自己相互协作的对象 (即他所依赖的对象)的引用,这将导致高度耦合和难以测试的代码。通过依赖注
入(DI),对象的依赖关系将有负责协调系统中各个对象的第三方组件在创建对象时设定。对象无需自行创建
或管理它们的依赖关系,依赖关系将被自动注入到需要它们的对象中去。依赖注入让相互协作的软件组件保
持松散耦合。
二、
装配:创建应用对象之间协作关系的行为。
从spring2.5开始,使用注解自动装配Bean的属性。spring容器默认禁用注解装配,使用时,必须早pom.xml
文件中配置<context:annotation-config>元素。
spring3支持的几种不同的用于自动装配的注解:
spring自带的@Autowired注解
JSP-330的@Inject注解
JSP-250的@Resource注解
使用@Autowired,当有多个满足自动装配条件的Bean时,可以配合使用@Qualifier来明确指定名字的Bean.
@Value 注解装配Sting类型的值和基本类型的值,列如int,boolean.
@Component 注解标识该类为Spring组件。可以添加参数作为组件名称。
@Controller注解标识该类定义为Spring controller.
@Repository注解标识该类定义为数据仓库。
@Service 注解标识该类定义为服务。
@Configuration注解的java类等价于xml配置中的<beans>元素。所标识的类会告诉spring:这个类包含一个或多个spring bean的定义。这些 Bean的定义是使用 @Bean注解所标注的方法。
@Bean注解标注的方法,返回的对象将被注册为spring应用上下文中的一个Bean,
横切关注点:软件开发中,分布于应用中多处的功能。
面向切面编程实现横切关注点与它们所影响的对象之间的解耦,将横切关注点与业务逻辑相分离。
DAO (data access object)数据访问对象:提供了数据读取和写入到数据库的一种方式。
JPA(java persistence api)Java持久化api,
事务:软件开发领域中,全有或全无的操作,事物允许你将几个操作组合成一个要么全部发生要么全部不发生的工作单元,如果一切顺利,事务将会成功,但是有任何一个事情出错的话,所发生的行为将会被清理干净,就像什么事情没发生一样。