spring的bean管理(注解)
1导入jar包
(1)导入基本的jar包
(2)导入aop的jar包
2.创建类,创建方法
3.创建spring配置文件,引入约束
(1)ioc基本功能,引入约束beans
(2)做spring的IOC注解开发,引入新的约束
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- bean definitions here -->
<!--开启注解扫描
1到包里面扫描文件,方法,属性上面是否有注解
-->
<context:component-scan base-package="包的路径,包路径" ></context:component-scan>
<context:component-scan base-package="包名" ></context:component-scan>
<!---
扫描属性上面的注解
>
<context:annotation-config></context:annotation-config>
</beans>
注解介绍
1代码里面特殊标记,使用注解可以完成功能
2.注解写法 @注解名称(属性性别名称=属性值)
3.注解使用在类上面,方法上面,和 属性上面
注解创造对象
1.在创建对象的类上面使用注解实现
@Component(value="user')//<bean id="user" class="" /> 相当于创建对象
public class User{
}
2.创建对象的四个注解 为了标注类本身的用途清晰,spring在后续版本会对其增强
@Component
@Controller web层
@Service 业务层
@Repository 持久层
目前四个注解相同,都是创建对象
3.创建对象单实例还是多实例
@Scope(value=“prototype”)//多实例还是单实例
public class User{
}
注解注入属性
1.创建service类 创建dao类
注入属性第一个注解@Autowired 原理是找类对象所在的类
注入注解的第二个注解@Resource
@Component(value="userDao")
public class UserDao{
public void add(){
}
}
@Service(value="userService") //value可以默认吧不写
public class UserService {
//得到dao对象
//1定义dao类属性
//在dao属性上面使用注解完成对象注入
第一种方式
@Autowired
private UserDaouserDao;
///使用注解方式时候不需要要set方法
第二种方法 name属性值写 注解创建dao对象value值
@Resource(name="userDao");
private UserDaouserDao;
public void add(){
userDao.add();
}
}
(1)创建dao和service对象
(2)在service类里面定义到属性
配置文件和注解的混合使用
1.创建对象操作使用配置文件方式实现
2.注入属性的操作使用注解方式实现
测试类
public class BookDao{
}
public class OrderDao{
}
public class BookService{
得到bookDao和orderDao对象
@Resource(name="bookDao")
private OrderDao orderDao;
@Resource(name="orderDao")
private BookeDao bookDao;
}
<配置文件>
<bean id="bookService" class="全路径" ></bean>
<bean id="bookDao" class="全路径" ></bean>
<bean id="orderDao" class="全路径" ></bean>