建筑网站制作,移动网站建站视频教程,桔子seo网,做手机网站要多少钱目录
IOC操作Bean管理注解方式#xff08;注入属性Autowired、Qualifier和Resource#xff09;
1.基于注解方式实现 属性注入
#xff08;1#xff09;Autowired#xff1a;根据属性类型进行自动装配
第一步#xff1a;
第二步#xff1a;
#xff08;2#xff…目录
IOC操作Bean管理注解方式注入属性Autowired、Qualifier和Resource
1.基于注解方式实现 属性注入
1Autowired根据属性类型进行自动装配
第一步
第二步
2Qualifier根据属性名称进行注入
测试
3Resource可以根据类型注入、也可以根据名称注入
4Value注入普通类型属性
测试 IOC操作Bean管理注解方式注入属性Autowired、Qualifier和Resource 1.基于注解方式实现 属性注入
1Autowired根据属性类型进行自动装配
结构图 第一步
把service 和 dao 对象进行创建在 service 和 dao 类添加 创建对象注解
UserService类中代码如下
package com.lbj.spring5.service;import org.springframework.stereotype.Service;//开启注解
Service
public class UserService {public void add(){System.out.println(UserService is open);}
}UserDao接口类代码如下
package com.lbj.spring5.dao;public interface UserDao {public void add();}UserDaoImpl类中代码如下
package com.lbj.spring5.dao;import org.springframework.stereotype.Repository;Repository
public class UserDaoImpl implements UserDao{Overridepublic void add() {System.out.println(addmethod is open);}
}第二步
在service 注入dao 对象在service类添加 dao 类型属性在属性上面使用注解就可以做到注入dao 对象 注意不需要添加set方法因为注解已经进行封装 UserService类的代码如下
package com.lbj.spring5.service;import com.lbj.spring5.dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;Service
public class UserService {//依旧是set注入定义dao类型属性,但是不需要添加set方法//添加注入属性 注解
Autowiredprivate UserDao userDao;public void add(){System.out.println(UserService is open);//调用效果userDao.add();}
}测试 2Qualifier根据属性名称进行注入 这个Qualifier注解的使用需要和上面的Autowired一起使用 原因因为只有 根据唯一的名称才可以准确找到属于哪一个类毕竟一个接口一般是有多个实现类的 演示 测试 3Resource可以根据类型注入、也可以根据名称注入
根据类型注入UserService类中代码如下
package com.lbj.spring5.service;import com.lbj.spring5.dao.UserDao;
import org.springframework.stereotype.Service;import javax.annotation.Resource;Service
public class UserService {Resource //根据类型进行注入private UserDao userDao;public void add(){System.out.println(UserService is open);//调用效果userDao.add();}
}根据名称注入 UserService类中代码如下
package com.lbj.spring5.service;import com.lbj.spring5.dao.UserDao;
import org.springframework.stereotype.Service;import javax.annotation.Resource;Service
public class UserService {Resource(name userDaoImpl01) //根据名称进行注入private UserDao userDao;public void add(){System.out.println(UserService is open);//调用效果userDao.add();}
}需要注意Resource 的 引入的包是在java的扩展包 javax中本身不是Spring里面的因此官方不建议用这个注解 4Value注入普通类型属性
package com.lbj.spring5.service;import com.lbj.spring5.dao.UserDao;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;import javax.annotation.Resource;Service
public class UserService {Value(value abc)private String name;public void add(){System.out.println(UserService is openname);//调用效果userDao.add();}
}测试 注意123都是根据对象进行属性注入4是根据普通类型属性注入