IOC 控制反轉(zhuǎn),把創(chuàng)建對象過程交給Spring進行管理。
在泰州等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網(wǎng)站設計、網(wǎng)站建設 網(wǎng)站設計制作按需設計網(wǎng)站,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,成都品牌網(wǎng)站建設,成都全網(wǎng)營銷,外貿(mào)網(wǎng)站制作,泰州網(wǎng)站建設費用合理。
目錄
什么是注解
Bean 管理注解方式(創(chuàng)建對象)
基于注解方式實現(xiàn)對象創(chuàng)建
第一步:引入依賴?
第二步:開啟組件掃描
創(chuàng)建類,在類上面添加創(chuàng)建對象注解(下面三個都可以)
Bean管理注解方式(組件掃描細節(jié)配置)
基于注解方式實現(xiàn)屬性注入(注入屬性@)
@AutoWired :根據(jù)屬性類型進行自動裝配;
@Qualifer :根據(jù)屬性名稱進行注入
@Resource :可以根據(jù)類型注入,可以根據(jù)名稱注入
@Value :注入普通類型屬性
完全注解開發(fā)
Bean 管理
Bean 管理操作有兩種方式
第一種:基于xml配置文件方式實現(xiàn)
第二種:基于注解方式實現(xiàn)
基于xml配置文件方式實現(xiàn)可以看下面的文章
IOC 的底層原理和Bean管理XML方式、xml注入集合屬性
Bean 管理(工廠bean)
ICO操作Bean管理的(bean的作用域和生命周期)
Bean 管理XmL方式(自動裝配和外部屬性文件)
話不多說,正式進入Bean管理的注解方式
什么是注解Spring針對Bean管理中創(chuàng)建對象提供注解
@Component? ?@Service? @Controller? @Repository
四個注解功能一樣的,都可以用來創(chuàng)建bean實例,大多數(shù)時候會把它們寫在不同層中,主要為了更好的理解不同層的業(yè)務邏輯。
基于注解方式實現(xiàn)對象創(chuàng)建 第一步:引入依賴?第二步:開啟組件掃描通俗就是告訴spring5需要掃描某個類。
如果掃描多個包,在多個包之間使用逗號隔開;
如果是掃描同一個目錄下所有的包,直接在路徑中寫上層目錄
創(chuàng)建類,在類上面添加創(chuàng)建對象注解(下面三個都可以)@Component? ?@Service? @Controller? @Repository
在注解里面的value屬性值可以省略,如果省略 那它的默認值是類名稱,但首字母會小寫。
@Component(value = "userService") 就相當于 創(chuàng)建service時的路徑 bean id="userService"
@Component(value = "userService")
public class UserService {
public void add(){
System.out.println("service add...");
}
}
測試
@Test
public void testService (){
ApplicationContext context =
new ClassPathXmlApplicationContext("bean1.xml");
UserService userService = context.getBean("userService",UserService.class);
System.out.println(userService);
userService.add();
}
Bean管理注解方式(組件掃描細節(jié)配置)use-default-filters="false" :表示現(xiàn)在不用默認Filter ,需要自己配置
context:include-filter:表示 設置掃描哪些內(nèi)容
context:exclude-filter:設置哪些內(nèi)容不進行掃描; base-package="com.atguigu" 后面沒有帶 use-default-filters="false" 表示掃描所有,但 context:exclude-filter:可以設置哪些不被掃描。下面就表示布掃描 Component
基于注解方式實現(xiàn)屬性注入(注入屬性@)
@AutoWired :根據(jù)屬性類型進行自動裝配;第一步:把service和dao對象創(chuàng)建,在service和dao類添加創(chuàng)建對象注解;
第二步:在service 注入dao對象;在service類添加dao類型屬性,在屬性上面使用注解
@Service
public class UserService {
//定義dao類型屬性
//不需要添加set方法
//添加注入屬性注解
@Autowired
private UserDao userDao;
public void add(){
System.out.println("service add...");
userDao.add();
}
}
@Qualifer :根據(jù)屬性名稱進行注入這個@Qualifer注解的使用,和上面@AutoWired一起使用
@Service
public class UserService {
//定義dao類型屬性
//不需要添加set方法
//添加注入屬性注解
@Autowired //根據(jù)類型屬性注入
@Qualifier(value = "userDaoImpI")//根據(jù)名稱注入
private UserDao userDao;
public void add(){
System.out.println("service add...");
userDao.add();
}
}
@Resource :可以根據(jù)類型注入,可以根據(jù)名稱注入根據(jù)類型注入
@Resource
private UserDao userDao;
public void add(){
System.out.println("service add...");
userDao.add();
}
根據(jù)名稱注入
@Resource(name = "userDaoImpI")
private UserDao userDao;
public void add(){
System.out.println("service add...");
userDao.add();
}
@Value :注入普通類型屬性@Value(value = "abc")
private String name;
完全注解開發(fā)創(chuàng)建配置類,替代xml配置文件
@Configuration //作為配置類,替代xml 配置文件
@ComponentScan(basePackages = {"com.atguigu"})
public class SpringConfig {
}
上面代碼的 @ComponentScan(basePackages = {"com.atguigu"}) 相當于 xml 文件的
編寫測試類
@Test
public void testService2 (){
//加載配置類
ApplicationContext context =
new ClassPathXmlApplicationContext("bean1.xml");
UserService userService = context.getBean("userService",UserService.class);
System.out.println(userService);
userService.add();
}
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站題目:IOC操作Bean管理(基于注解方式)-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://aaarwkj.com/article2/jcjic.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信小程序、電子商務、網(wǎng)站維護、手機網(wǎng)站建設、商城網(wǎng)站、虛擬主機
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)