Spring的bean管理(註解) 註解 1.代碼裡面特殊標記(ep:@Test),使用註解完成一些相關功能 2.註解寫法 @註解名稱(屬性名稱=屬性值) 3.可以用在類,方法,屬性上都可以 4.Spring里替代部分配置文件,更方便 Spring註解開發的準備工作 導入 1.導入基本jar包 2. ...
Spring的bean管理(註解)
註解
1.代碼裡面特殊標記(ep:@Test),使用註解完成一些相關功能
2.註解寫法 @註解名稱(屬性名稱=屬性值)
3.可以用在類,方法,屬性上都可以
4.Spring里替代部分配置文件,更方便
Spring註解開發的準備工作
導入
1.導入基本jar包
2.導入aop的jar包
創建類,創建方法
創建spring配置文件引入約束
1.做ioc基本功能,引入的約束bean
2.做spring的ioc註解開發,引入新的約束(context)
開始註解掃描
到包裡面稻苗類,方法,屬性上面是否有註解
<context:component-scan base-package= "創建類所在包的名字"></context:component-scan>
註解創建對象
再創建類上面加上註解即可實現
@Component(Value="user") //等同於<bean id = "user" class = "">
public class User{
public void add(){
system.out.println("add.........")
}
}
測試代碼如下
public class Test{
@Test
public void testUser(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
User user=(User) context.getBean("user");
System.out.println(user);
user.add();
}
}
輸出了地址 還調用了add方法
創建對象有四個註解
1.Component
2.Controller web層
3.Service 業務層
4.Repository 持久層
其實功能方法都一樣
註解註入屬性
1.autowired
創建service類,創建dao類,在service里
@component(value="userservice")
public class UserService{
//得到dao的對象
@Autowried
private UserDao userDao;
//不需要寫set方法
public void add{
system.out.println("add......");
userDao.add();
}
}
@component(value="userdao")
public class UserDao{
public void add{
system.out.println("dao......");
}
}
測試
public class Test{
@Test
public void testService(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
User user=(UserService) context.getBean("userService");
userService.add();
}
}
2.@Resource(name= "對象名字")
@resource(name = "userDao")
private UserDao userDao;
註解方式創建dao的對象 value的值
配合文件和註解方式的混合使用
1.創建對象一般都用配置文件實現
2.註入屬性用註解的方式來實現