最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

idea創(chuàng)建Spring項(xiàng)目的方法步驟(圖文)

 更新時(shí)間:2019年01月27日 15:06:58   作者:Java魑魅魍魎  
這篇文章主要介紹了idea創(chuàng)建Spring項(xiàng)目的方法步驟(圖文),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

Spring介紹

Spring概述

Spring是一個(gè)開(kāi)源框架,Spring是2003年興起的輕量級(jí)java開(kāi)發(fā)框架,由Rod Johnson 在其著作 Expert One-On-One J2EE Development and Design 中闡述的部分理念和原形衍生而來(lái)。它是為了解決企業(yè)級(jí)開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的javaBaen來(lái)完成以前只可能由EJB完成的事情,然而Spring的用途不僅限于服務(wù)器端的開(kāi)發(fā),從簡(jiǎn)單性、可測(cè)試性、低耦合的角度而言任何java應(yīng)用都可以在spring中受益。

簡(jiǎn)單的來(lái)說(shuō)Spring就是輕量級(jí)的控制反轉(zhuǎn)(IOC)和面向切面(AOP)的容器框架。

Spring的好處

方便解耦,簡(jiǎn)化開(kāi)發(fā)

Spring就是一個(gè)大工廠(chǎng),專(zhuān)門(mén)負(fù)責(zé)生成Bean,可將所有對(duì)象,和依賴(lài)關(guān)系維護(hù)由Spring管理。

AOP編程的支持

Spring提供面向切面編程,可以方便的實(shí)現(xiàn)對(duì)程序進(jìn)行攔截、運(yùn)行監(jiān)控等功能。

聲明事務(wù)的支持

只需要通過(guò)配置就可以對(duì)事務(wù)進(jìn)行管理,而無(wú)需手動(dòng)編程。

方便程序的測(cè)試

Spring對(duì)junit支持,可以通過(guò)注解方便的測(cè)試Spring程序。

方便集成各種優(yōu)秀框架

Spring不排斥各種優(yōu)秀的框架,其內(nèi)部提供了對(duì)各種優(yōu)秀框架的支持,比如Struts2、Hibernate、MyBatis等。

降低javaEE API的使用難度

對(duì)java EE 開(kāi)發(fā)中一些難用的API(JDBC、JavaMail)等都提供了封裝 ,使這些API應(yīng)用難度大大降低。

Spring體系結(jié)構(gòu)

Spring框架是一個(gè)分層架構(gòu),它包含一系列的功能要素,并被分為大約20個(gè)模塊,這些模塊分為:

Core Container、Data Access/intergration、Web、AOP(Aspect Oriented Programming)、Instrumentation和測(cè)試部分,如下圖所示:

在項(xiàng)目中的架構(gòu)

Web層:Struts2、SpringMVC

dao層:Hibernate、Mybatis

Spring入門(mén)案例

編寫(xiě)流程

創(chuàng)建項(xiàng)目

導(dǎo)入jar

然后點(diǎn)擊Next

然后點(diǎn)擊Finish

下面是創(chuàng)建好的項(xiàng)目結(jié)構(gòu),我創(chuàng)建了bean包,測(cè)試類(lèi)、和配置文件

idea可以自動(dòng)生成是Spring的配置文件  步驟是在需要生成配置文件的目錄上鼠標(biāo)右鍵--》New--》XML Configuration File--》Spring Config--》然后起文件名點(diǎn)擊Finish

下面是寫(xiě)好的測(cè)試 Person類(lèi)

package com.spring.bean;

/**
 * @Author: 007
 * @Date: 2019/1/27/0027 10:20
 * @Version 1.0
 * @Description: 創(chuàng)建測(cè)試用的bean
 */
public class Person {
  private String name;    //姓名
  private int age;      //年齡

  public Person() {
  }

  public Person(String name, int age) {
    this.name = name;
    this.age = age;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }

  @Override
  public String toString() {
    return "Person{" +
        "name='" + name + '\'' +
        ", age=" + age +
        '}';
  }
}

配置Spring的核心xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!--配置bean
    id:給配置的類(lèi)起個(gè)后續(xù)在容器中獲取用的id
    class:類(lèi)所在的路徑
    -->

  <bean id="Person" class="com.spring.bean.Person"/>
</beans>

在程序中讀取Spring的配置文件來(lái)獲取Bean(Bean其實(shí)就是一個(gè)new好的對(duì)象)

package com.spring.test;

import com.spring.bean.Person;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * @Author: 007
 * @Date: 2019/1/27/0027 10:21
 * @Version 1.0
 * @Description:
 */
public class Test {
  public static void main(String[] args) {
    //查詢(xún)類(lèi)路徑 加載配置文件
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
    //根據(jù)id獲取bean
    //Spring就是一個(gè)大工廠(chǎng)(容器)專(zhuān)門(mén)生成bean bean就是對(duì)象
    Person person = (Person) applicationContext.getBean("Person");
    //輸出獲取到的對(duì)象
    System.out.println("person = " + person);
  }
}

下面是測(cè)試完成后的截圖

至此入門(mén)案例編寫(xiě)完成

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java性能優(yōu)化之編譯器版本與平臺(tái)對(duì)應(yīng)關(guān)系

    java性能優(yōu)化之編譯器版本與平臺(tái)對(duì)應(yīng)關(guān)系

    這篇文章主要介紹了java性能優(yōu)化--編譯器版本與平臺(tái)對(duì)應(yīng)關(guān)系,本章節(jié)更加具體化的學(xué)習(xí)編譯器還有哪些可以?xún)?yōu)化的方便,讓你的應(yīng)用展現(xiàn)出更好的性能,需要的朋友可以參考下
    2022-06-06
  • SpringBoot如何實(shí)現(xiàn)各種參數(shù)校驗(yàn)

    SpringBoot如何實(shí)現(xiàn)各種參數(shù)校驗(yàn)

    文章詳細(xì)介紹了SpringValidation的使用,包括簡(jiǎn)單使用、requestBody參數(shù)校驗(yàn)、requestParam/PathVariable參數(shù)校驗(yàn)、統(tǒng)一異常處理、分組校驗(yàn)、嵌套校驗(yàn)、集合校驗(yàn)、自定義校驗(yàn)、編程式校驗(yàn)、快速失敗、@Valid和@Validated的區(qū)別以及實(shí)現(xiàn)原理
    2024-12-12
  • Java 運(yùn)算符 動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java 運(yùn)算符 動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Java 運(yùn)算符 動(dòng)力節(jié)點(diǎn)Java學(xué)院整理,需要的朋友可以參考下
    2017-04-04
  • SpringBoot集成SFTP客戶(hù)端實(shí)現(xiàn)文件上傳下載實(shí)例

    SpringBoot集成SFTP客戶(hù)端實(shí)現(xiàn)文件上傳下載實(shí)例

    這篇文章主要為大家介紹了SpringBoot集成SFTP客戶(hù)端實(shí)現(xiàn)文件上傳下載實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • springboot-mybatis/JPA流式查詢(xún)的多種實(shí)現(xiàn)方式

    springboot-mybatis/JPA流式查詢(xún)的多種實(shí)現(xiàn)方式

    這篇文章主要介紹了springboot-mybatis/JPA流式查詢(xún),本文給大家分享三種方式,每種方式結(jié)合示例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • idea 找不到符號(hào)或找不到包的幾種解決方法

    idea 找不到符號(hào)或找不到包的幾種解決方法

    這篇文章主要介紹了idea 找不到符號(hào)或找不到包的幾種解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • JAVA學(xué)習(xí)進(jìn)階篇之時(shí)間與日期相關(guān)類(lèi)

    JAVA學(xué)習(xí)進(jìn)階篇之時(shí)間與日期相關(guān)類(lèi)

    在日常的開(kāi)發(fā)工作當(dāng)中,我們經(jīng)常需要用到日期相關(guān)的類(lèi),下面這篇文章主要給大家介紹了關(guān)于JAVA學(xué)習(xí)進(jìn)階篇之時(shí)間與日期相關(guān)類(lèi)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 在Filter中不能注入bean的問(wèn)題及解決

    在Filter中不能注入bean的問(wèn)題及解決

    這篇文章主要介紹了在Filter中不能注入bean的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 詳解Mybatis是如何解析配置文件的

    詳解Mybatis是如何解析配置文件的

    這篇文章主要介紹了詳解Mybatis是如何解析配置文件的,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • RocketMq深入分析講解兩種削峰方式

    RocketMq深入分析講解兩種削峰方式

    當(dāng)上游調(diào)用下游服務(wù)速率高于下游服務(wù)接口QPS時(shí),那么如果不對(duì)調(diào)用速率進(jìn)行控制,那么會(huì)發(fā)生很多失敗請(qǐng)求,通過(guò)消息隊(duì)列的削峰方法有兩種,這篇文章主要介紹了RocketMq深入分析講解兩種削峰方式
    2023-01-01

最新評(píng)論

高邑县| 资兴市| 永川市| 峡江县| 遂溪县| 治县。| 惠来县| 老河口市| 达州市| 绥宁县| 奉新县| 克东县| 阜城县| 札达县| 桐梓县| 民权县| 白山市| 左权县| 新营市| 鲁甸县| 桓台县| 定襄县| 普兰县| 沾化县| 湘西| 昭通市| 密山市| 巫溪县| 望都县| 监利县| 阿克陶县| 珠海市| 达日县| 济阳县| 乾安县| 龙川县| 靖边县| 镇平县| 合江县| 嘉峪关市| 阳朔县|