導航:首頁 > 版本升級 > spring註解怎麼配置文件

spring註解怎麼配置文件

發布時間:2023-08-28 20:47:05

Ⅰ springboot常用註解

springboot常用註解有@SpringBootApplication;@Repository;@Service;@RestController;@ResponseBody。

3、starter 是 SpringBoot 中一種非常重要的機制,它可以繁雜的配置統一集成到 starter 中,我們只需要通過 maven 將 starter 依賴引入到項目中,SpringBoot 就能自動掃描並載入相應的默認配置。starter 的出現讓開發人員從繁瑣的框架配置中解放出來,將更多的精力專注於業務邏輯的開發,極大的提高了開發效率。

Ⅱ 二、SpringBoot的配置--yaml

SpringBoot使用一個全局的配置文件,配置文件名是固定的;

配置文件的作用:修改SpringBoot自動配置的默認值;SpringBoot在底層都給我們自動配置好;

YAML 是一個標記語言

標記語言:

以前的配置文件;大多都使用的是xxx.xml文件

YAML:以數據為中心,比json、xml等更適合做配置文件

YAML:配置例子

XML:

k:(空格)v : 表示一對鍵值對(空格必須有)

以空格的縮進來控制層級關系;只要是左對齊的一列數據,都是同一個層級的

屬性和值也是大小寫敏感;

k: v :字面直接來寫;

字元串默認不用加上單引號或者雙引號;

"" :雙引號;不會轉義字元串裡面的特殊字元; 特殊字元會作為本身想表示的意思

name : "zhangsan lisi" :輸出 : zhangsan 換行 lisi

'' :單引號;會轉義特殊字元,特殊字元最終只是一個普通的字元串數據

name: 'zhangsan lisi' : 輸出 ; zhangsan lisi

k: v : 在下一行來寫對象的屬性和值的關系 ;注意縮進

對象還是 k: v 的方式

行內寫法:

用- 值表示數組中的一個元素

行內寫法

配置文件

javaBean:

我們可以導入配置文件處理器,以後編寫配置就有提示了

調整 圖示:

配置文件yml還是properties他們都能獲取到值;

如果說,我們只是在某個業務邏輯中需要獲取一下配置文件中的某項值,使用@Value

如果說,我們專門編寫一個javaBean來和配置文件進行映射,我們就直接使用@ConfigurationProperties

@ImportResource:導入Spring的配置文件,讓配置文件裡面的內容生效

SpringBoot裡面沒有Spring的配置文件,我們自己編寫的配置文件,也不能自動識別;

想讓Spring的配置文件生效,載入進來;@ImportResource標注在一個配置類上

不來編寫Spring的配置文件

Spring Boot推薦給容器添加組件的方式;推薦全註解的方式

1、配置類@Configuration------>Spring配置文件

2、使用@Bean給容器中添加組件

我們在主配置文件編寫的時候,文件名可以是application-{profile}.properties/yml

默認使用application.properties的配置

1、在配置文件中指定spring.profiles.active=dev

2、在命令行:

java -jar spring-boot-02-config.jar --spring.profiles.active=dev;

可以直接在測試的時候,配置傳入命令行參數

3.虛擬機參數

-Dspring.profiles.active=dev

springboot 啟動會掃描以下位置的application.properties或者application.yml文件作為Spring Boot的默認配置文件

-file:./config/

-file:./

-classpath:/config/

-classpath:/

優先順序由高到低,高優先順序的配置會覆蓋低優先順序的配置

SpringBoot會從這四個位置載入主配置文件:互補配置

==我們還可以通過spring.config.location來改變默認的配置文件位置==

項目打包好以後,我們可以使用命令行參數的形式,啟動項目的時候來指定配置文件的新位置;指定配置文件和默認載入的這些配置文件共同起作用互補配置;

java -jar spring-boot-02-config.jar --spring.config.location=G:/application.properties

==SpringBoot也可以從以下位置載入配置;優先順序從高到低;高優先順序的配置低優先順序的配置,所有的配置會形成互補配置==

1.命令行參數

2.來自java:comp/env的JNDI屬性

3.java系統屬性

4.操作系統環境變數

5.RandomValuePropertySource配置的random.*屬性值

==有jar包外箱jar包內進行尋找==

==優先載入帶profile==

6.jar包外部的application-{profile}.properties 或 application.yml(帶spring.profile)配置文件

7.jar包內部的application-{profile}.properties 或 application.yml(帶spring.profile)配置文件

==再來載入不帶profile==

8.jar包外部的application.properties或者application.yml(不帶spring.profile)配置文件

9.jar包內部的application.properties或者application.yml(不帶spring.profile)配置文件

精髓:

1》springboot啟動會載入大量的自動配置類

2》我們看我們需要的功能有沒有springboot默認寫好的自動配置類

3》我們再來看這個自動配置類中到底配置了那些組件;(只要我們要用的組件有,我們就不需要再來配置了)

4》給容器中自動配置類添加組件的時候,會從properties類中獲取某些屬性,我們就可以在配置文件中指定這些屬性的值

Ⅲ spring的配置文件怎麼寫

標準的Spring配置文件編寫:

<?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:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"
default-autowire="byName" default-lazy-init="true">

<!-- 配置數據源 -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>
jdbc:mysql://localhost/ssh?characterEncoding=utf-8
</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>123</value>
</property>
</bean>

<!--配置SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="mappingResources">
<list>
<value>com/ssh/pojo/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>

<!-- 事務管理 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>

<!-- hibernateTemplate -->
<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>

<!-- 配置數據持久層 -->
<bean id="userDao"
class="com.ssh..impl.UserDaoImpl">
<property name="hibernateTemplate" ref="hibernateTemplate"></property>
</bean>

<!-- 配置業務邏輯層 -->
<bean id="userService"
class="com.ssh.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao"></property>
</bean>

<!-- 配置控制層 -->
<bean id="UserAction"
class="com.ssh.action.UserAction" scope="prototype">
<property name="userService" ref="userService"></property>
</bean>
<!-- 配置pojo -->
<bean id="User" class="com.ssh.pojo.User" scope="prototype"/>
</beans>

Ⅳ spring怎麼配置註解

@Repository註解:

1 package imooc_spring.test.anotation.myrepository;

2

3 import org.springframework.stereotype.Repository;

4

5 /**

6 * 指定id,默認為dAO,即類名首字母小寫,如果指定了名稱那麼只能ctx.getBean(指定名稱)來獲取bean

7 * 這個例子里就只能通過ctx.getBean("wyl)來獲取DAO 的實例了;

8 *

9 * @author Wei

10 */

11 @Repository("wyl")

12 public class DAO {

13 /**

14 * 返回x和y的乘積

15 *

16 * @param x

17 * @param y

18 * @return x*y

19 */

20 public int multi(int x, int y) {

21 return x * y;

22 }

23 }

復制代碼

@Component 註解:

復制代碼

1 package imooc_spring.test.anotation;

2

3 import org.springframework.stereotype.Component;

4 /**

5 * Component 註解

6 * @author Wei

7 *

8 */

9 @Component

10 public class TestObj {

11 public void SayHi(){

12 System.out.println(" Hi this is TestObj.SayHi()...");

13 }

14 }

復制代碼

@Controller註解悶吵:

復制代碼

1 package imooc_spring.test.anotation;

2

3 import org.springframework.stereotype.Controller;

4

5 @Controller

6 public class UserController {

7 public void execute(){

8 System.out.println(" UserController.execute()...");

9 }

10 }

復制代碼

@Repository註解:

復制代碼

1 package imooc_spring.test.anotation;

2

3 import org.springframework.stereotype.Repository;

4

5 //@Repository

6 @Repository("wyl_repo")

7 public class UserRepositoryImpl implements IUserRepository {

8 //模譽拍擬持久化層

9 慶罩羨 @Override

10 public void save() {

11 // TODO Auto-generated method stub

12 System.out.println(" UserRepositoryImpl.save()...");

13 }

14

15 }

復制代碼

@Service註解:

復制代碼

1 package imooc_spring.test.anotation;

2

3 import org.springframework.stereotype.Service;

4

5 @Service

6 public class UserService {

7 public void add(){

8 System.out.println(" UserService.add()...");

9 }

10 }

Ⅳ Spring Boot 第二彈,配置文件詳解-史上最全

  Spring Boot 官方 提供了兩種常用的配置文件格式,分別是 properties 、 YML 格式。相比於 properties 來說, YML 更加年輕,層級也是更加分明。 強烈推薦使用 YML 格式

  Spring Boot項目 啟動會掃描以下位置的 application.properties 或者 application.yml 作為默認的配置文件.

徒手撕源碼

內部類Loader的load方法

getSearchLocations()方法

asResolvedSet()

下面給出優先順序 從高到低 的配置文件排列順序:

以設置應用埠為例 初體驗Spring Boot配置文件

properties後綴結尾(application.properties)

yml/yaml後綴結尾(application.yml/application.yaml)

數字,字元串,布爾,日期

對象、Map

數組

數字,字元串,布爾,日期

對象、Map

數組

@ConfigurationProperties(prefix = "person")詳解

標注在類上

標注在方法上

綜上所述

  @ConfigurationProperties 註解能夠輕松的讓配置文件跟實體類綁定在一起。

 值得關注的是: @ConfigurationProperties 這個註解僅僅是支持從 Spring Boot的默認配置文件 中取值,也就是 application.properties 、 application.yml 、 application.yaml ,那我們如何從自定義配置文件取值呢???

 別著急,有解決辦法,那就是再加一個註解: @PropertySource(value = "classpath:custom-profile.properties") ,下面會有對 @PropertySource 註解的介紹。請耐心往下面看。

使用@PropertySource註解

對應配置文件

創建兩個配置文件 custom-profile.yml、custom-profile1.yml ,如下去引入。

我們可以通過控制變數法進行測試,具體過程我這里就不贅述了。

直接說 結論 吧: Spring載入順序 為 從左到右順序載入 ,後載入的會 覆蓋 先載入的屬性值。

另外需要注意的是 : @PropertySource 默認載入 xxx.properties類型 的配置文件,不能載入 YML格式 的配置文件。如何解決呢?下面來解決這一問題

對應配置文件:

編寫PropertiesController

擴展功能

application.yml 主配置文件

application-dev.yml 開發配置文件

application-prod.yml 生產配置文件

application-test.yml 測試配置文件

(1)主配置文件:配置激活選項

(2)其他配置文件:指定屬於哪個環境(同yml,只不過表現形式是 key=value 的,三個配置文件分別是: application-dev.properties , application-prod.properties , application-test.properties )

 無論是使用上述 多文檔塊 的方式,還是新建 application-test.yml 文件,都可以在配置文件中指定 spring.profiles.active=test 激活指定的profile。

感謝閱讀小生文章。祝大家早日富可敵國,實現財富自由。

寫文不易 ,一定要 點贊、評論、收藏哦 , 感謝感謝感謝!!!

Ⅵ SpringBoot使用配置類映射yml配置文件信息

使用configurationProperties註解並指明在配置文件中的前綴,然後用component註解注冊進ioc容器。

我這里定義的兩個靜態內部類,同時創建了各自的實例,比如這個Email靜態內部類中有三個屬性,那麼配置文件就可以是mq.myrabbit.email.queue來對靜態內部類中的屬性進行一個映射

在yml中寫配置
項目編譯後,在yml中寫配置會自動顯示出來自己定義的配置映射類所具有的屬性,如下圖所示:

然後在yml配置文件中,寫各個配置,配置類就會讀取到了

Ⅶ Spring載入配置文件(org.springframework.beans.factory.BeanDefinitionStoreException)

1、首先手動載入Spring配置文件有兩個類,分別是;兩個類的區別。

閱讀全文

與spring註解怎麼配置文件相關的資料

熱點內容
好用的急救知識app 瀏覽:524
什麼是網路適配器驅動文件名 瀏覽:717
吉林文件箱多少錢 瀏覽:113
ae模板版本 瀏覽:204
手機qq步數功能在哪裡 瀏覽:721
c程序設計04737 瀏覽:403
女孩什麼年齡學編程 瀏覽:976
安慶如何做網路營銷推廣 瀏覽:620
什麼是數據標准化 瀏覽:708
aecc三維功能實例視頻教程 瀏覽:719
iphone6s靜音鍵用法 瀏覽:560
油卡盒子APP是什麼公司名下的 瀏覽:597
怪物獵人wp文件夾什麼意思 瀏覽:108
設置密碼的pdf文件如何轉換成word 瀏覽:876
多個文件合並到一起後叫什麼 瀏覽:387
資料庫位是什麼意思 瀏覽:104
如何改變手機上的網路連接 瀏覽:908
某網站圖片侵權如何舉報 瀏覽:820
zemax宏編程有什麼用 瀏覽:874
做保函為什麼要獲取招標文件 瀏覽:921

友情鏈接