福富網大課程筆記 - 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特性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章