Spring DAO:Spring提供了对JDBC的操作支持:JdbcTemplate模板工具类 。
Spring ORM:Spring可以与ORM框架整合。例如Spring整合Hibernate框架,其中Spring还提供HibernateDaoSupport工具类,简化了Hibernate的操作 。
Spring WEB:Spring提供了对Struts、Springmvc的支持,支持WEB开发。与此同时Spring自身也提供了基于MVC的解决方案 。
Spring AOP:Spring提供面向切面的编程,可以给某一层提供事务管理,例如在Service层添加事物控制 。
Spring JEE:J2EE开发规范的支持,例如EJB 。
Spring Core:提供IOC容器对象的创建和处理依赖对象关系 。
bean就是IOC容器,从而达到可以随时用,依赖注入的意思就是配置好权限之后能够使用,容器建好了之后,处理对象的依赖关系
1.set方法
2.构造器方法
3.常用的注解的方式
控制层代码
@Autowired //@Resource
private OrderServiceImp orderService;
服务层代码
@Service("orderService")
public class OrderServiceImp implements IOrderService {
@Autowired
private JavaOrderMDaoImp javaOrderMDao;
@Autowired
private JavaOrderDDaoImp javaOrderDDao;
@Override
public List findOrderM(OrderSearch search) {
return javaOrderMDao.findJavaOrderM(search);
}
@Override
public List findOrderD(OrderSearch search) {
return javaOrderDDao.findJavaOrderD(search);
}
}
DAO层代码
@Repository("javaOrderMDao")
public class JavaOrderMDaoImp extends BaseHibernateDAO implements IJavaOrderMDao {...}
@Component 把对象加入ioc容器,对象引用名称是类名,第一个字母小写
@Component(“name”) 把指定名称的对象,加入ioc容器
@Repository 主要用于标识加入容器的对象是一个持久层的组件(类)
@Service 主要用于标识加入容器的对象是一个业务逻辑层的组件
@Controller 主要用于标识加入容器的对象是一个控制层的组件
@Resource 注入属性(DI), 会从容器中找对象注入到@Resource修饰的对象上
@Autowired 注入属性(DI), 会从容器中找对象注入到@Autowired修饰的对象上
把繁杂的事务处理都放在一个类里面,需要的话直接调用切面,可以在任何时间点调用
横切关注点:分布应用于多处的功能
切面:横切关注点可以被模块化为一个类,这个类被称为一个切面
通知(advice):切面要完成的工作。Spring的通知有5种类型:before、after、after-returning、after-throwing和around这五种类型。
连接点(joinpoint):连接点表示在何种操作发生时应用切面。比如方法调用时、修改字段时和抛出异常时等等
切点(pointcut):一般用某个包中的类的明确的方法来指定在何处应用切面,应用切面的这个点便称为切点,一般用切点来指定连接点。
3种方法
execution(*com.springinaction.springidol.Instrument.play())直接调用切面
用within()和bean来调用切面
1.在命名空间中配置好aop
2.定义一个切面类
@component
public class Audience{
public void takeSeats(){
}
3.在xml中配置好切面
就可以在pointcut之前或者之后使用切面的方法进行处理逻辑了
}