中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring注解如何實現applicationContext.xml效果

發布時間:2022-02-28 14:41:18 來源:億速云 閱讀:188 作者:小新 欄目:web開發

小編給大家分享一下Spring注解如何實現applicationContext.xml效果,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Spring注解--實現applicationContext.xml效果

 隨著越來越多地使用Springboot敏捷開發,更多地使用注解配置Spring,而不是Spring的applicationContext.xml文件。

  • Configuration注解: Spring解析為配置類,相當于spring配置文件

  • Bean注解:容器注冊Bean組件,默認id為方法名

@Configuration
public class AppConfig {
     @Bean
     public MyService myService() {
        return new MyServiceImpl();
     }
}

等同于beans.xml文件

<beans>
    <bean id="myService" class="com.acme.services.MyServiceImpl"/>
</beans>

1)applicationContext.xml文件-包掃描

@ComponentScans(value = {@ComponentScan(value = "com.self",excludeFilters = {
                @Filter(type = FilterType.ANNOTATION,classes = {Controller.class})
        })
})
@Configuration
public class RootConfig {
    
      //測試Bean
      @Bean
      public Person person() {
          return new Person("張勵",22,"工程師");
      }
}

2)導入properties文件

@PropertySource(value = {"classpath:person.properties"})
@Configuration
public class MainConfigOfProperty {

	@Bean
	public Person person() {
		return new Person();
	}
}

賦值

public class Person {

   @Value("${person.name}")//配置文件屬性
	private String name;

}

3)數據源

@EnableTransactionManagement//開啟基于注解的事務管理功能
@ComponentScan("com.self.ds")
@Configuration
public class TxConfig {
	
	//數據源
	@Bean
	public DataSource dataSource() throws Exception{
		ComboPooledDataSource dataSource = new ComboPooledDataSource();
		dataSource.setUser("root");
		dataSource.setPassword("000111");
		dataSource.setDriverClass("com.mysql.jdbc.Driver");
		dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/self");
		return dataSource;
	}
	
	 
	@Bean
	public JdbcTemplate jdbcTemplate() throws Exception{ 
		JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource());
		return jdbcTemplate;
	}
	
	//事務管理器
	@Bean
	public PlatformTransactionManager transactionManager() throws Exception{
		return new DataSourceTransactionManager(dataSource());
	}
	

}

單元測試

public class IOCTest {
	
	AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfig.class);  
	
	@Test
	public void test02() {
		Object bean1 = applicationContext.getBean("person");
		Object bean2 = applicationContext.getBean("person");
		System.out.println( bean1 == bean2);
	}
	
	@Test
	public void test01() {
		Object bean = applicationContext.getBean("person01");
		System.out.println("結果: " + bean);
	}
	
	
	@Test
	public void test() { 
		String[] beanDefinitionNames = applicationContext.getBeanDefinitionNames();
		for(String beanDef:beanDefinitionNames) {
			System.out.println("輸出: " + beanDef);
		}
		
	}

}

執行結果

Spring注解如何實現applicationContext.xml效果  

以上是“Spring注解如何實現applicationContext.xml效果”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湖北省| 临朐县| 大余县| 香港| 昌宁县| 江安县| 甘肃省| 尼木县| 龙泉市| 成安县| 自贡市| 海阳市| 图木舒克市| 临沂市| 德令哈市| 临澧县| 沁水县| 襄樊市| 三穗县| 铁岭县| 海门市| 祁东县| 彭阳县| 西吉县| 维西| 宁晋县| 青冈县| 淮滨县| 京山县| 五河县| 天镇县| 裕民县| 宾川县| 百色市| 海门市| 新和县| 桂林市| 密山市| 镇康县| 绥滨县| 广水市|