前言
為了鞏固所學(xué)的知識,作者嘗試著開始發(fā)布一些學(xué)習(xí)筆記類的博客,方便日后回顧。當(dāng)然,如果能幫到一些萌新進(jìn)行新技術(shù)的學(xué)習(xí)那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。
(博客的參考源碼可以在我主頁的資源里找到,如果在學(xué)習(xí)的過程中有什么疑問歡迎大家在評論區(qū)向我提出)
發(fā)現(xiàn)寶藏
前些天發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。【寶藏入口】。
一、spring XML注解開發(fā)入門案例
(詳細(xì)代碼見個人主頁資源spring源碼respr_annonation模塊)
1. 在spring入門案例的代碼基礎(chǔ)上編碼
2. 在對應(yīng)的類上添加@Component注解,并起別名(以bookDaoImpl為例)
(如果不起別名則在編寫模擬測試類的時候要通過類型獲取bean)
3. 在核心配置文件中創(chuàng)建context命名空間并配置spring掃描范圍
4. 編寫模擬測試類并運(yùn)行
5**. 小結(jié)與拓展**
- spring注解開發(fā)步驟
- 拓展
二、spring 純注解開發(fā)入門案例
1. 基于注解的配置
從 Spring 2.5 開始就可以使用注解來配置依賴注入。而不是采用 XML 來描述一個 bean 連線,你可以使用相關(guān)類,方法或字段聲明的注解,將 bean 配置移動到組件類本身。
2. 創(chuàng)建config包和SpringConfig類,核心配置xml文件可以刪除(此處在其文件命名后面加上.bak)
//聲明當(dāng)前類為Spring配置類
@Configuration
//設(shè)置bean掃描路徑,多個路徑書寫為字符串?dāng)?shù)組格式
@ComponentScan({"org.example.service","org.example.dao"})
public class SpringConfig {
}
3. 新建模擬測試類AppForAnnotation及運(yùn)行結(jié)果
(BookServiceImpl類上添加@Service注解[@Component的衍生注解])
4. 小結(jié)
- xml 和 純注解 核心配置
- xml 和 注解 獲取bean容器方式
三、注解開發(fā)bean的作用范圍與生命周期
1. bean的作用范圍控制
2. bean的生命周期控制
四、依賴注入
(詳細(xì)代碼見個人主頁資源spring源碼respr_annonation_di模塊)
1. 單個BookDao實(shí)現(xiàn)類按類型裝配(@Autowired**)**
2. 多個BookDao實(shí)現(xiàn)類指定裝配名稱(@Autowire + @Qualifier**)**
3. 注入普通類型
4. 注入properties文件屬性
五、注解開發(fā)管理第三方bean
(詳細(xì)代碼見個人主頁資源spring源碼respr_respr_annotation_third_bean_manager模塊)
1. 導(dǎo)入第三方數(shù)據(jù)源坐標(biāo)(以druid數(shù)據(jù)源舉例)
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
2. 定義一個方法獲得要管理的對象,添加@Bean,表示當(dāng)前方法的返回值是一個bean
@Configuration
@ComponentScan("com.itheima")
public class SpringConfig {
@Bean
public DataSource dataSource(BookDao bookDao){
System.out.println(bookDao);
DruidDataSource ds = new DruidDataSource();
ds.setDriverClassName("com.mysql.jdbc.driver");
ds.setUrl("jdbc:mysql://localhost:3306/spring_db");
ds.setUsername("root");
ds.setPassword("root");
return ds;
}
}
3. 模擬測試類APP編寫及其運(yùn)行結(jié)果
4. 規(guī)范化后的文件結(jié)構(gòu)
- jdbc.Config
//@Configuration
public class JdbcConfig {
@Bean
public DataSource dataSource(BookDao bookDao){
System.out.println(bookDao);
DruidDataSource ds = new DruidDataSource();
ds.setDriverClassName("com.mysql.jdbc.driver");
ds.setUrl("jdbc:mysql://localhost:3306/spring_db");
ds.setUsername("root");
ds.setPassword("root");
return ds;
}
}
- SpringConfig
@Configuration
@ComponentScan("com.itheima")
//@Import:導(dǎo)入配置信息
@Import({JdbcConfig.class})
public class SpringConfig {
}
5. 小結(jié)
- 第三方bean管理 - 導(dǎo)入式
- 第三方bean管理 - 掃描式
六、注解開發(fā)實(shí)現(xiàn)為第三方bean注入資源
1. 注入普通類型
(成員變量)
//@Configuration
public class JdbcConfig {
//1.定義一個方法獲得要管理的對象
@Value("com.mysql.jdbc.Driver")
private String driver;
@Value("jdbc:mysql://localhost:3306/spring_db")
private String url;
@Value("root")
private String userName;
@Value("root")
private String password;
//2.添加@Bean,表示當(dāng)前方法的返回值是一個bean
//@Bean修飾的方法,形參根據(jù)類型自動裝配
@Bean
public DataSource dataSource(){
DruidDataSource ds = new DruidDataSource();
ds.setDriverClassName(driver);
ds.setUrl(url);
ds.setUsername(userName);
ds.setPassword(password);
return ds;
}
}
2. 注入引用類型
(引用類型注入只需要為bean定義方法設(shè)置形參即可,容器會根據(jù)類型自動裝配對象)
七、注解開發(fā)總結(jié)
(xml配置對比注解開發(fā))
文章來源:http://www.zghlxwxcb.cn/news/detail-493355.html
總結(jié)
歡迎各位留言交流以及批評指正,如果文章對您有幫助或者覺得作者寫的還不錯可以點(diǎn)一下關(guān)注,點(diǎn)贊,收藏支持一下。
(博客的參考源碼可以在我主頁的資源里找到,如果在學(xué)習(xí)的過程中有什么疑問歡迎大家在評論區(qū)向我提出)文章來源地址http://www.zghlxwxcb.cn/news/detail-493355.html
到了這里,關(guān)于Spring注解開發(fā) -- Spring快速入門保姆級教程(二)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!