文章目录
1.@Component2.@Service3.@Repository4.@Autowired5.@Qualifier6.@Resource7.@Configuration8.@Bean9.@ComponentScan10.@Controller11.@RequestMapping12.@ResponseBody13.@RequestParam14....
1.@Component
标注类为Spring组件
2.@Service
标注类为业务层的类,Spring组件
3.@Repository
标注类为数据访问层的类,Spring组件
4.@Autowired
通过类型自动装配依赖项
5.@Qualifier
通过名称自动装依赖项,当自动装配的类型不值一个时,需要与
@Autowired连用指定名称 对自动注入的实体进行区分
6.@Resource
次注解是Java注解,只是Spring对其进行了支持
Spring 通过JSR
250 的@Resource 注释支持按字段和setter方法的名称自动装配
7.@Configuration
@Configuration
@ComponentScan({"dao","service"})
public class WebConfig {
@Bean(name
= "restHighLevelClient")
public RestHighLevelClient
restHighLevelClient(){
RestHighLevelClient client
= new RestHighLevelClient(RestClient
.builder(new HttpHost("127.0.0.1",9200,"http")));
return client
;
}
}
指明本类为配置类,在测试时通过
ApplicationContext context1
= new AnnotationConfigApplicationContext
(WebConfig
.class);
来进行加载,而非之前的通过xml文件加载。
8.@Bean
在配置类中,通过创建指定返回类型的方法将实例注入到Spring容器 如:
@Bean
public RestHighLevelClient
restHighLevelClient(){
RestHighLevelClient client
= new RestHighLevelClient(RestClient
.builder(new HttpHost("127.0.0.1",9200,"http")));
return client
;
}
这样就将一个RestHightLevelClient类型的实例注入到了Spring容器中 其中,Bean可以指定名称 如:@Bean(name = “restHighLevelClient”) 否者其名称为方法名
9.@ComponentScan
注解扫描,之前我们在配置文件中是这样扫描注解的
<!--扫描dao和service
-->
<context
:component
-scan base
-package="dao"/>
<context
:component
-scan base
-package="service"/>
我们可以在配置类(带@Configuration注解的类)中以这个注解的方式来进行扫描 如下
@ComponentScan({"dao","service"})
10.@Controller
控制器,用于处理数据、前后端交互,注解于类,相当于之前的Servlet
11.@RequestMapping
请求映射的路径,相当于之前Servlet中的“
/find
.do”
12.@ResponseBody
指明该方法返回的是JSON格式数据
13.@RequestParam
如:
public String
findAllUser(Model model
,
@RequestParam("param") String parames
){}
这样就会从前端数据中接收到param这个参数,从而进行相应的业务处理
14…