福富网大课程笔记 - JAVA初级阶段 - 01常用框架

  1. 框架

    最基础:javabean+jsp+servlet。
    SSM:Spring+SpringMVC+Mybatis。
    SSH:Spring+SpringMVC+Hibernate。
    JSP表现层,SpringMVC控制层,Java Bean业务层,Mybatis数据访问层。

    Spring:以IOC控制反转、DI依赖注入、AOP面向切面编程为基础,简化企业项目开发复杂度
    SpringMVC:代替servlet的作用。
    Mybatis:持久层框架,支持定制化SQL、存储过程、高级映射。将接口和Java的POJO映射成数据库中的记录,代替了传统的JDBC编程工作。
    Hibernate:对象关系映射框架,对JDBC进行封装,POJO与数据库表建立映射。

  2. IOC控制反转思想:将设计好的对象交给容器控制,由容器来帮忙创建和注入依赖对象。依赖倒置、依赖注入,上层控制下层。

    应用上下文调用方式
    ApplicationContex:通用使用方法。
    WebApplicationContext:Web应用获取容器对象。
    ClassPathXmlApplicationContex:从类路径下的xml配置文件中加载上下文定义,适用xml配置的方式。
    AnnotationConfigApplicationContex:从基于java的配置类中加载上下文定义,适用java注解的方式。

    通过注解实现DI功能
    JPA(Java持久化API):Controller控制层组件、Service业务层组件、Repository数据访问组件、Component通用组件,主动创建被注解的对象并加入到容器管理,待应用程序调用。
    依赖注入:Resource获取类对象,Autowired自动装配,主动查找到对象的依赖关系,并将容器中现有的被调用对象注入到调用对象中。

  3. 面向切面编程AOP
    剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块。把横切关注点与业务分离,业务逻辑和非业务逻辑分离。
    通知、连接点、切入点、切面、引入、目标对象、AOP代理、织入。
    常用注解:@Aspect使被注解的类称为切面类,@Pointcut声明一个切入点,@Before前置通知,@AfterReturning返回通知,@AfterThrowing异常通知,@After后置通知,@Around环绕通知

  4. SpringMVC常用注解
    @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。
    @RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
    @Autowired可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。通过@Autowired的使用来消除 set,get方法。
    @PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数。
    @RequestParam主要用于在SpringMVC后台控制层获取参数,类似一种是request.getParameter(“name”)。
    @Responsebody注解表示该方法的返回的结果直接写入HTTP响应正文(ResponseBody)中,一般在返回json、xml数据时使用,通常是在使用@RequestMapping后,返回值通常解析为跳转路径,加上@Responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP响应正文中。

  5. Mybatis搭建持久层
    添加相应的jar包,添加Mybatis的配置文件、定义实体类、定义映射文件、注册映射文件。

  6. Mybatis实现增删改查
    typeAliases:对类型进行别名控制。
    resultMap:将查询到的复杂数据映射到一个结果集当中。
    使用<select><delete><update><insert>标签进行增删改查。

  7. Hibernate搭建持久层
    annotation搭建:配置POM依赖,hibernate.cfg.xml配置数据源、实体注解实现或xxx.hbm.xml配置、配置扫描包或类、持久化测试。
    **@Entity:**当前类为实体Bean,需要进行持久化;
    **@Table:**当前数据表与持久化类之间的映射;
    **@Id:**指定当前持久化类的ID表示属性;
    **@GeneratedValue:**指定当前ID表示生成器;
    **@Column:**指定当前属性所对应的数据库表中的字段。

  8. Hibernate实现增删改查(HQL)

    查询:
    from User u where u.age=20;
    select max(score).min(score) from Course c GROUP BY c.sex;
    select new User(user.name,user.age) from User user;
    删除:delete from User user where user.age=18;
    更新:update User set name = :newName where id=0;(newName为绑定的变量)

  9. 通过spring保持事务的一致性
    声明式事务建立在AOP之上,其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。
    在service实现类加上@Transactional注解,Spring xml配置文件中添加:<context:annotation-config/>
    PROPAGATION_REQUIRED:如果当前没有事务,就新建一个事务,如果已经在一个事务中,就加入到这个事务中。

  10. 整合SSM框架
    **ApplicationContext.xml:**spring 全局配置文件,用来控制spring特性,管理service、dao、数据源的bean等等。
    **spring-mvc.xml:**主要管理action的bean等信息。
    **mybatis-config.xml:**mybatis配置文件,主要用于mybatis全局属性的相关配置,如全局setting、mapper配置等等。

  11. 整合SSH框架
    **structs.xml:**struts的配置文件,主要是配置包含result映射、action映射、拦截器配置等等。
    **hibernate.cfg.xml:**Hibernate配置文件,主要用于配置数据库和运行时所需的各种特性。
    **ApplicationContext.xml:**spring 全局配置文件,用来控制spring特性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值