1. 程式人生 > >java spring的用法

java spring的用法

spring教程(一):簡單實現
一、概念介紹

  1. 一站式框架:管理專案中的物件。spring框架性質是容器(物件容器)

  2. 核心是控制反轉(IOC)和麵向切面(AOP)

IOC:反轉控制–將建立物件的方式反轉

自己建立、維護物件-->由spring完成建立、注入

反轉控制就是反轉了物件的建立方式,從自己建立反轉給了程式

DI:依賴注入–實現IOC需要DI做支援

注入方式:set、構造方法、欄位 注入

注入型別:值型別(8大資料型別)、引用型別(物件) 注入

二、簡單實現

1.導包

首先根據圖找到需要的jar包,再匯入日誌包

匯入包後項目結構如圖所示

2.建立一個物件 bean

User.xml
3.配置核心 xml 檔案

    對名字、位置沒有具體要求,一般命名為 applicationContext.xml 放置在 src 下

applicationContext.xml
4. junit 測試以下程式碼,控制檯列印不為空且無報錯即為成功

Demo1.java

三、元素詳解 註釋都寫在程式碼裡,也可以直接看第四部分

  1. 元素解釋

複製程式碼

<?xml version="1.0" encoding="UTF-8"?>
<!-- bean元素:使用該元素描述需要spring容器管理的物件 -->
<!-- 
    name:呼叫時用的名字
    class:路徑
    id:與name屬性作用一樣但名稱不可重複且不能使用特殊字元
    scope屬性:
        singleton(預設值):單例物件,在spring容器中啟動時建立,只存在一個
        prototype:多例原型,每次在獲得時才會建立,每次都建立一個新的
-->
<bean name="user" class="com.dic.bean.User></bean>
複製程式碼
  1. 模組化配置:即將bean分散在多個檔案中配置,在 applicationContext.xml 中新增一句引用即可
  1. 屬性注入之 set 注入

    分為 set 注入、物件注入兩種,在 xml 中注入內容如下

複製程式碼

 <bean name="user1" class="com.dic.bean.User1">
       <property name="name" value="tom"></property>
       <property name="age" value="18"></property>
 </bean>
 <!-- 1. -->
 <bean name="car" class="com.dic.bean.Car">
       <property name="name" value="的健康的"></property>
       <property name="color" value="yellow"></property>
 </bean>
 <!-- 2. -->
 <bean name="user2" class="com.dic.bean.User2">
       <property name="name" value="tom"></property>
       <property name="age" value="18"></property>
       <property name="Car" ref="car"></property>
 </bean>

複製程式碼

  1. 屬性注入之構造方式注入

    1. 在 User3.java 中新增構造方法

public User3(String name, Car car) {
System.out.println(“構造方式”);
this.name = name;
this.car = car;
}

2. 在 applicationContext.xml 中新增配置  注意賦值標籤不一樣

 <!-- 構造方法注入    -->
 <bean name="user3" class="com.dic.bean.User3">
       <constructor-arg name="name" value="嗯哼"></constructor-arg>
       <constructor-arg name="car" ref="car"></constructor-arg>
  </bean>


構造方式注意:出現同名引數時指定引數型別
  1. 複雜型別注入

複雜的型別注入,如:陣列、list、map、properties

複製程式碼
1
2
3
4
5
6
7
8 tom
9 jerry
10
11
12
13
14
15
16 jack
17 rose
18
19
20
21
22
23
24
25
26
27

28
29
30
31
32 com.jdbc.mysql.Driver
33 root
34 root
35
36
37
複製程式碼

四、程式碼整理

Car.java
User.java
User1.java
User2.java
User3.java
User4.java
Demo1.java
applicationContext.xml

相關推薦

Java Spring AOP用法

切面 itl joinpoint edi long 定位 後置 spa -m spring提供了兩個核心功能,一個是IoC(控制反轉),另外一個便是Aop(面向切面編程),IoC有助於應用對象之間的解耦,AOP則可以實現橫切關註點(如日誌、安全、緩存和事務管理)與他們所影響

java spring用法

spring教程(一):簡單實現 一、概念介紹 一站式框架:管理專案中的物件。spring框架性質是容器(物件容器) 核心是控制反轉(IOC)和麵向切面(AOP) IOC:反轉控制–將建立物件的方式反轉 自己建立、維護物件-->由spring完

[Java][Spring][scurity]同步session控制,防止一個用戶多次登錄

http art 程序 ava list ati cee ren except [Spring][scurity]同步session控制。防止一個用戶多次登錄 假設你希望限制單個用戶僅僅能登錄到你的程序一次,Spring Security通過加入以下簡單的部分支持這

Java-Spring-獲取Request,Response對象

request response 第一種、參數@RequestMapping("/test") @ResponseBodypublic void saveTest(HttpServletRequest req, HttpServletResponse resp){   }第二種、註解@Autowire

Java習慣用法總結

保持 lock 學習 util catch %20 bject 負數 rac 在Java編程中,有些知識 並不能僅通過語言規範或者標準API文檔就能學到的。在本文中,我會盡量收集一些最常用的習慣用法,特別是很難猜到的用法。(Joshua Bloch的《Effective J

java :instanceof用法

interface println false bsp 繼承 attr mask csdn 技術分享 Java中的instanceof是用來判斷某個實例是不是某個類的實例。 例如:A instanceof B (A為某個實例,B為某個類名) 如果A為B的實例,則:(A in

JFileChooser和FileFilter的使用,以及Java RandomAccessFile用法

選擇 沒有 定義 相關 lte inpu 概念 獨立 文件 今天學習前輩的一個p2p下載的源代碼,其中遇見了兩個小問題,上網進行了百度,找到了答案,隨手記錄一下,以便於以後翻看。 1.首先自定義了一個文件下載的主界面,包括了創建任務、暫停任務、繼續任務、刪除任務,點擊創建任

Java Spring-Bean

sch singleton mls tex getclass getc xsd exce 實現 2017-11-06 18:59:30 Bean初始化和銷毀方法 配置初始化和銷毀的方法:* init-method=”setup”* destroy-method=”tea

【轉載】Java DecimalFormat 用法

最快 public oid get div 科學計數 科學 符號 一個 轉載只供個人學習參考,以下查看請前往原出處:http://blog.csdn.net/wangchangshuai0010/article/details/8577982 我們經常要將數字進行格式化,比

Java Spring-JdbcTemplate

exe mon manage -1 mybatis source context basic 文件 2017-11-10 22:55:45 Spring 對持久層技術支持 : JDBC : org.springframework.jdbc.core.JdbcTemplat

Java Spring-事務管理概述

dot nat 框架 3.0 信息 commit int 效率 cti 2017-11-11 23:05:39 事務(Transaction):是邏輯上一組操作,要麽全都成功,要麽全都失敗。 一、事務的特性 原子性:事務不可分割 一致性:事務執行的前後,數據完整性保持一致

java .net 用法差異

net 字符串 sub ava hello 開始 java nbsp substr .net Substring(開始位置,取幾位字符串) ("hello").Substring(2,2)=ll java substring(開始位置,結束位置) ("hello

Java Spring Boot 上傳文件和預覽文件地址解析

jar包 tof form loader index res for catch div @RequestMapping(value ="/upload",method = RequestMethod.POST) @Permission(isAjax=fa

Java Spring Controller 獲取請求參數的幾種方法

交流 str eth req turn let oca form表單 val 技術交流群:233513714 1、直接把表單的參數寫在Controller相應的方法的形參中,適用於get方式提交,不適用於post方式提交。若"Content-Type"="applic

java spring 學習

pri clas logs post pos spring class ring flow Java Spring AOP用法 http://www.cnblogs.com/flowwind/p/4782606.html Java Spring IOC用法 http://w

java spring boot項目部署-上

kill fun pre def bak top ken includes tope 1.編寫sh腳本,便於服務器上管理工程: #!/bin/bash source /etc/profile PROG_NAME=$0 ACTION=$1 usage() { e

轉載 JAVA spring ioc原理 原文地址:http://blog.csdn.net/it_man/article/details/4402245

nbsp animal 很難 details 如何實現 拋出異常 感覺 註入 extend 最近,買了本Spring入門書:spring In Action 。大致瀏覽了下感覺還不錯。就是入門了點。Manning的書還是不錯的,我雖然不像哪些只看Manning書的人那樣專註

Java Spring boot 2.0 跨域問題

直接 https 例子 base HR 分享 bsp site methods 跨域 一個資源會發起一個跨域HTTP請求(Cross-site HTTP request), 當它請求的一個資源是從一個與它本身提供的第一個資源的不同的域名時 。 比如說,域名A(http://

java spring Validator

equals res java spring report supports interface bin ini p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 27.0px Helvetica; color: #34302d }

Java Spring JDBC代理訪問

nag string 代理 temp utf ref color 出現 方法 一、首先采用org.springframework.jdbc.datasource.DriverManagerDataSource類進行實現 1.applicationContext.xml配置如