目录
IOC操作Bean管理注解方式(创建对象)
1.什么是注解
2.Spring 针对 Bean 管理中创建对象提供注解主要有以下四种
(1)@Component
(2)@Service
(3)@Controller
(4)@Repository
3.基于注解方式实现对象的创建
步骤一:搭建项目
步骤二:引入aop依赖
步骤三:开启组件扫描
步骤四:创建类,在类上面创建对象进行注解
步骤五:测试
Bean 管理操作有两种方式
一种是:xml配置文件方式
一种是:基于注解方式实现
IOC操作Bean管理注解方式(创建对象)
1.什么是注解
概念:注解是代码的 特殊标记
格式:@注解名称(属性名称1=属性值,属性名称2=属性值......)
使用:注解作用在类上面、方法上面、属性上面
目的:简化xml配置
2.Spring 针对 Bean 管理中创建对象提供注解主要有以下四种
以下四个注解功能是一样的,都可以用来创建bean实例,且不分用在哪个层
(1)@Component
(2)@Service
(3)@Controller
(4)@Repository
@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法。通俗来说,被Controller标记的类就是一个控制器,这个类中的方法,就是相应的动作。
1、@controller 控制器(注入服务)
2、@service 服务(注入dao)
3、@repository dao(实现dao访问)
4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)
3.基于注解方式实现对象的创建
步骤一:搭建项目
步骤二:引入aop依赖
首先,找到依赖,在之前下载的Spring的jar包中找到aop jar包
然后,引入jar包到项目中
步骤三:开启组件扫描
组件扫描:告诉Spring容器,现在要到哪个类里面去注解,那么就需要扫描这些类,才能进行对象的创建
结构:
bean1.xml的代码如下:
<?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:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!--上面是名称空间引入--><!--开启组件扫描--><!--1.如果要扫描多个包 ,要用逗号“,”隔开--><!--<context:component-scan base-package="com.lbj.spring5.service,com.lbj.spring5.dao"></context:component-scan>--><!--2.也可以扫描包的上一级--><context:component-scan base-package="com.lbj.spring5"></context:component-scan>
</beans>
步骤四:创建类,在类上面创建对象进行注解
在 service 包内创建一个 UserService 类
注意:在注解里面 value 的属性值可以省略不写,value的默认值是类的首字母小写的名称
如:类名是UserService 等价于 value="userService"
UserService 类代码如下:
package com.lbj.spring5.service;import org.springframework.stereotype.Component;
//开启注解
//在xml配置中 id的含义和此处的value的含义一致
@Component(value = "userService")
public class UserService {public void add(){System.out.println("UserService is open");}
}
步骤五:测试
package com.lbj.spring5.testdemo;import com.lbj.spring5.service.UserService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestSpring5Demo1 {@Testpublic void testService01(){ApplicationContext context=new ClassPathXmlApplicationContext("bean1.xml");UserService userService = context.getBean("userService", UserService.class);System.out.println(userService);userService.add();}}