Spring新註解
Spring新註解
@Configuration
表明當前類是一個配置類。他的作用和bean,xml一樣
@ComponentScan/ComponentScans
-------- 作用:用於Spring 在建立容器時要掃描的包
--------屬性value/basePackages:兩者的功能都是一樣的 <context:component-scan base-package=“com.itheima”></context:component-scan>
@Bean
*Bean
- 作用:用於把當前方法的返回值作為bean物件存入Spring的IOC容器中(Map結構:<key ,value> key => id ,value=>要建立的物件)
- 屬性:
-
name:用於指定bean的id 預設值:不寫時預設值當前方法的名稱
-
細節:當我們使用註解配置方法時。如果方法有引數,spring框架會去容器查詢
-
有沒有可以使用的bean物件,查詢的方式和Autowired的方法是一樣的
在進行註解開發的時候,還是有bean,xml檔案的 存在,為了讓Spring IOC純註解開發,所有Spring還有其他的註解。
如下面的context:component-scan標籤,配置QueryRunner的bean標籤,配置資料來源的標籤.
如何用註解達到去除bean…xml。
建立配置類:
SpringConfiguration.java
package com.itheima.config;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ComponentScans;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;
import java.beans.PropertyVetoException;
/*
* 該類是一個配置類,他的 作用是和bean.xml一樣的
* Spring中的新註解
* Configuration
* 作用:當前類是一個配置類
*ComponentScan
* 作用:用於Spring 在建立容器時要掃描的包
* 屬性value/basePackages:兩者的功能都是一樣的 <context:component-scan base-package="com.itheima"></context:component-scan>
*Bean
* 作用:用於把當前方法的返回值作為bean物件存入Spring的IOC容器中(Map結構:<key ,value> key => id ,value=>要建立的物件)
* 屬性:
* name:用於指定bean的id 預設值:不寫時預設值當前方法的名稱
* 細節:當我們使用註解配置方法時。如果方法有引數,spring框架會去容器查詢
* 又名沒有可以使用的bean物件,查詢的方式和Autowired的方法是一樣的
* */
@Configuration
@ComponentScan(basePackages = "com.itheima")
public class SpringConfiguration {
//建立一個QueryRunner物件
@Bean(name = "runner")
public QueryRunner createQueryRunner(DataSource dataSource){
return new QueryRunner(dataSource);
}
@Bean(name ="dataSource")
public DataSource createDataSource() throws PropertyVetoException {
ComboPooledDataSource ds = new ComboPooledDataSource();
ds.setDriverClass("com.mysql.cj.jdbc.Driver");
ds.setJdbcUrl("jdbc:mysql://localhost:3306/eesy?serverTimezone=UTC&useSSL=false&useUnicode=true &characterEncoding=UTF-8");
ds.setUser("root");
ds.setPassword("123456");
return ds;
}
}
相關文章
- Spring系列之新註解配置+Spring整合junit+註解注入Spring
- Spring註解Spring
- 【Spring註解】事務註解@TransactionalSpring
- SPRING-spring註解整理Spring
- Spring boot註解Spring Boot
- Spring : @SessionAttributes註解SpringSession
- Spring註解大全Spring
- Spring常用註解Spring
- Spring Boot系列十八 Spring AOP + 註解實現統一註解Spring Boot
- Spring 註解程式設計之模式註解Spring程式設計模式
- Spring: @ModelAttribute註解用法Spring
- Spring(使用註解配置)Spring
- Spring-註解注入Spring
- spring註解開發Spring
- spring boot 註解@ComponentSpring Boot
- Spring註解之@ConditionalSpring
- Spring註解?啥玩意?Spring
- Spring 註解開發Spring
- Spring註解之@ImportSpringImport
- Spring註解簡析Spring
- spring 框架常用註解Spring框架
- Spring註解系列——@PropertySourceSpring
- Spring IoC 公共註解詳解Spring
- Spring AOP的AspectJ註解Spring
- 【Spring 註解】@Configuration和@BeanSpringBean
- Spring Boot註解 之 @RequestXSpring Boot
- Spring條件註解@ConditionalSpring
- Spring Cache快取註解Spring快取
- Spring中重要的註解Spring
- Spring @Transactional註解淺談Spring
- Spring 框架快取註解Spring框架快取
- Spring的註解開發Spring
- Spring的@PropertySource註解使用Spring
- Spring典型註解-@Controller,@Component,@SpringController
- Spring註解補充(一)Spring
- 【spring 註解】第3篇:@Scope、@Lazy和@Conditional註解Spring
- Spring註解開發_Spring容器建立概述Spring
- spring通過註解註冊bean的方式+spring生命週期SpringBean