idea創(chuàng)建Spring項(xiàng)目的方法步驟(圖文)
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)系,本章節(jié)更加具體化的學(xué)習(xí)編譯器還有哪些可以?xún)?yōu)化的方便,讓你的應(yīng)用展現(xiàn)出更好的性能,需要的朋友可以參考下2022-06-06
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é)院整理,需要的朋友可以參考下2017-04-04
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),本文給大家分享三種方式,每種方式結(jié)合示例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下2022-12-12
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

