<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
說明
在spring4之後,想要使用註解形式,必須得要引入aop的包
在組態檔當中,還得要引入一個context約束
<?xml version="1.0" encoding="UTF-8"?> <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" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> </beans>
我們之前都是使用 bean 的標籤進行bean注入,但是實際開發中,我們一般都會使用註解!
1、設定掃描哪些包下的註解
<context:component-scan base-package="com.hc.pojo"/>
2、在指定包下編寫類,增加註解
@Component("user") // 相當於組態檔中 <bean id="user" class="當前註解的類"/> public class User { public String name = "秦疆"; }
3、測試
@Test public void test(){ ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml"); User user = (User) applicationContext.getBean("user"); System.out.println(user.name); }
使用註解注入屬性
1、可以不用提供set方法,直接在直接名上新增@value(“值”)
@Component("user") // 相當於組態檔中 <bean id="user" class="當前註解的類"/> public class User { @Value("秦疆") // 相當於組態檔中 <property name="name" value="秦疆"/> public String name; }
2、如果提供了set方法,在set方法上新增@value(“值”);
@Component("user") public class User { public String name; @Value("秦疆") public void setName(String name) { this.name = name; } }
我們這些註解,就是替代了在組態檔當中設定步驟而已!更加的方便快捷!
@Component三個衍生註解
為了更好的進行分層,Spring可以使用其它三個註解,功能一樣,目前使用哪一個功能都一樣。
寫上這些註解,就相當於將這個類交給Spring管理裝配了!
在Bean的自動裝配已經講過了,可以回顧!
@scope
@Controller("user") @Scope("prototype") public class User { @Value("秦疆") public String name; }
XML與註解比較
xml與註解整合開發 :推薦最佳實踐
<context:annotation-config/>
作用:
JavaConfig 原來是 Spring 的一個子專案,它通過 Java 類的方式提供 Bean 的定義資訊,在 Spring4 的版本, JavaConfig 已正式成為 Spring4 的核心功能 。
測試:
1、編寫一個實體類,Dog
@Component //將這個類標註為Spring的一個元件,放到容器中! public class Dog { public String name = "dog"; }
2、新建一個config設定包,編寫一個MyConfig設定類
@Configuration //代表這是一個設定類 public class MyConfig { @Bean //通過方法註冊一個bean,這裡的返回值就Bean的型別,方法名就是bean的id! public Dog dog(){ return new Dog(); } }
3、測試
@Test public void test2(){ ApplicationContext applicationContext = new AnnotationConfigApplicationContext(MyConfig.class); Dog dog = (Dog) applicationContext.getBean("dog"); System.out.println(dog.name); }
4、成功輸出結果!
匯入其他設定如何做呢?
1、我們再編寫一個設定類!
@Configuration //代表這是一個設定類 public class MyConfig2 { }
2、在之前的設定類中我們來選擇匯入這個設定類
@Configuration @Import(MyConfig2.class) //匯入合併其他設定類,類似於組態檔中的 inculde 標籤 public class MyConfig { @Bean public Dog dog(){ return new Dog(); } }
關於這種Java類的設定方式,我們在之後的SpringBoot 和 SpringCloud中還會大量看到,我們需要知道這些註解的作用即可!
到此這篇關於Spring超詳細講解註解開發的文章就介紹到這了,更多相關Spring註解開發內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45