SSM框架學習---spring

前言:

學習完了mybatis之後,開始了spring的學習。

學習mybatis做的筆記如下:

https://blog.csdn.net/qq_39627843/article/details/103186701

 

準備工作:

建立maven工程,去pom文件寫jar包座標

 

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.0.2.RELEASE</version>
        </dependency>

在resources目錄下建一個叫bean.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
        https://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="UserService" class="com.bowen.service.UserService"></bean>
</beans>

這裏的意思是,我們註冊了一個userService的全限定類名,有一個id屬性,通過id,我們以後就可以拿到一個這個對象

目錄結構如下

然後ui包裏面的client調用了userservice的方法,這裏就是使用到spring的地方

client類如下:

package com.bowen.ui;

import com.bowen.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Client {
    public static void main(String[] args) {
        //UserService service = new UserService();
        ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
        UserService userService = (UserService) context.getBean("UserService");
        userService.print();
    }
}

 

使用註解開發:

看到網上寫的很好的一篇博客,推薦一下,我也正處於學習階段,還是得多學習下別人的纔行

https://www.cnblogs.com/xzh0717/p/10843370.html

第一部分:這一步其實是從xml配置到註解的過渡,中間還是使用了xml配置,下一部分完全擺脫了xml配置

之前在使用xml配置bean的時候命名空間和註解開發不一樣,這裏附上:

<!--註解使用的頭-->
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
    

<!--xml配置使用的頭-->
<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
        https://www.springframework.org/schema/beans/spring-beans.xsd">

①創建類對象

幾種註解如下:

@Component  寫在某個類前面,表示將類加入到spring容器中,到時候可以由一個值 通過spring內部的反射機制獲取到類對象,這個註解可以傳入參數,表示通過哪一個值可以獲取到這個類對象,如果不寫,默認值是當前類的類名,首字母小寫。

 

下面三個功能其實差不多,只不過一般分別用在相應的層,如果非要用在其他層也是可以的

@Controller  用在控制層

@Service 用在業務層

@Repository 用在持久層

 

②注入數據

@Autowired  自動按照類型注入,可以寫在類變量上,也可以寫在方法上,機制是通過類型與容器中的類型匹配,如果有多個類

型匹配,則再按照變量名匹配。比如說

 

@Qualifier  類型有多個匹配時,Qualifier裏面的值指定它應該注入哪一個id對應的類。比如這樣

 

有兩個accountDao都加上了Component註解,存在於容器中,AccountDao1 和 AccountDao2,那麼現在是不知道用誰的,而qualifier裏面的值就能指定用accountDao1

注意:

註解在類變量上時,必須與@Autowired一起使用

 

@Resource 直接通過id指定,不需要與其他註解一起使用

 

以上三個註解只能注入其他數據類型,就是自己定義的類,對於基本數據類型以及String類型,不能注入,另外,集合類型只能用xml方式進行注入

 

基本數據類型的注入需要使用@Value註解。

 

@Scope scope註解可以定義bean的作用域,具體解釋如下

這裏寫圖片描述

使用時,註解裏面加上這些就可以了,例如在某個類的前一行加上@Singleton,之後這個類就只會被創建一次

 

第二部分

全部使用註解來進行開發,不使用任何xml配置文件

 

首先我們要建一個類,替代剛纔xml配置文件的功能,位置和名稱都隨便。建完之後在類的前一行加上@Configuration註解,表示這是一個配置的類,spring會區分,再加上@ComponentScan,表示掃描哪一些包裏面的註解。

 

 

 

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