Spring的bean管理(注解)
2017-06-28 09:53
435 查看
一.注解介绍
代码里面特殊标记,使用注解可以完成功能注解写法 @注解名称(属性名称=属性值)
注解使用在类上面,方面上面和属性上面
二.Spring注解开发准备
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 --> </beans>
4.开启注解扫描
<!-- 开启注解扫描 (1)到包里面扫描类,方法,属性上面是否有注解 --> <context:component-scan base-package="cn.itcast"></context:component-scan> <!-- 扫描属性上面的注解 --> <!-- <context:annotation-config></context:annotation-config> -->
注解创建对象
在创建对象的类上面使用注解实现
@Component(value=book") //相同于<bean id="user" class=""/> public class Book { public void add() { System.out.println("Book add"); } }
public class SpringDemo { @Test public void fun1() { ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml"); Book book=(Book)context.getBean("book"); book.add(); } }
创建对象有四个注解
@Component
@Controller
@Service
@Repository
目前这四个注解功能是一样的,都创建对象
5.创建对象单实例还是多实例
@Service(value="user") //<bean id="user" class=""/> @Scope(value="prototype") //多实例 public class User { public void add() { System.out.println("add..."); } }
6.注解注入属性
(1).创建service类,创建dao类,在service得到dao对象,注入属性第一个注解@Autowired
A.创建dao和service对象@Component(value="userDao") public class UserDao { public void add() { System.out.println("UserDao add"); } }
B.在service类里面定义dao类型属性
@Component(value="userService") public class UserService { //得到dao对象 //1.定义dao类型属性 //在dao属性上面使用注解 完成对象注入 @Autowired private UserDao userDao; //使用注解方式时候不需要set方法 public void add() { System.out.println("UserService add"); userDao.add(); } }
(2).注入属性第二个注解 @Resource
@Component(value="userService") public class UserService { //name属性值写 注解创建dao对象value的值 @Resource(name="userDao") private UserDao userDao; public void add() { System.out.println("UserService add"); userDao.add(); } }
三.配置文件和注解混合使用
1.创建对象操作使用配置文件方式实现
<?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="cn.st"></context:component-scan> <!-- 配置对象 --> <bean id="bookService" class="cn.st.web.BookService"></bean> <bean id="bookDao" class="cn.st.web.BookDao"></bean> <bean id="ordersDao" class="cn.st.web.OrdersDao"></bean> </beans>
2.注入属性的操作使用注解方式实现
@Component(value="bookService") public class BookService { @Resource(name="bookDao") private BookDao bookDao; @Resource(name="ordersDao") private OrdersDao ordersDao; public void add() { System.out.println("BookService add"); bookDao.add(); ordersDao.add(); } }
相关文章推荐
- Spring bean管理【基于注解】
- Spring的bean管理(注解)
- 05_Spring的bean管理_注解和配置文件混合使用
- Spring中bean管理-配置文件和注解方式混合使用
- 为何在新线程中使用注解获取不到Spring管理的Bean
- Spring入门——Bean管理的注解实现及例子
- Java框架spring 学习笔记(十):bean管理(注解和配置文件混合使用)
- spring的bean管理(注解方式)
- Spring的bean管理(注解注入属性)
- spring-02 spring的bean管理(使用注解方式创建对象 附代码)
- Spring的bean管理(注解方式)
- Spring--7.bean管理(注解)
- Spring的bean管理(注解创建对象)
- Spring的bean管理(注解方式)
- 将spring管理的bean使用注解的方式注入到servlet中
- Spring 注解方式管理Bean
- spring之bean管理注解与aop原理
- spring之bean管理-----注解
- Spring的Bean管理(注解方式)
- spring基于注解的bean管理