spring_annotation_scan(Component)

spring自动
项目结构如下:
[img]http://dl2.iteye.com/upload/attachment/0095/2809/87a7ae0a-ca46-37f7-884f-63066f54e586.jpg[/img]

一。实体类(不重要)

public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

}


二。自动扫描applicationContext.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:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd" >

<context:annotation-config />
<context:component-scan base-package="com.job"/>
</beans>

<context:component-scan base-package="com.job"/>配置扫描的包路径

三。服务类

@Scope("prototype")
@Component
public class UserService {

private UserDAO userDAO;

@PostConstruct //相当于xml中bean配置init-method方法,在初始化之前执行此方法
public void init(){
System.out.println("init");
}
public void add(User u){
this.userDAO.save(u);
}

public UserDAO getUserDAO() {
return userDAO;
}
@Resource(name="u")
public void setUserDAO(@Qualifier("userDAOImpl")UserDAO userDAO) {
this.userDAO = userDAO;
}

@PreDestroy //相当于xml中bean配置destroy-method方法,在初始化之后执此方法
public void destory(){
System.out.println("destory");
}
}

@Component表示自动扫描时的服务组件(也可用@Service)
@Resource(name="u")表示自动注入组件名为"u"

@Scope("prototype")表示获得时新创建一个实例
@PostConstruct/@PreDestroy 表示实例创建和消毁时执行的方法
在applicationContext.xml配置方式如下:

<bean id="userService" class="com.job.service.UserService" lazy-init="true" init-method="init" destroy-method="destroy" scope="prototype">
<property name="userDAO" ref="userDAOImpl"></property>
</bean>


四。服务类实现

@Component("u")
public class UserDAOImpl implements UserDAO{

@Override
public void save(User u) {
System.out.println(u.getUsername()+"user---haha!");
}
}

@Component("u")表示组件,也可用(@Repository("u"))

五。服务实现接口(不重要)
public interface UserDAO {
public void save(User u);
}


六。测试

public class UserServiceTest {
@Test
public void test(){
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService service = (UserService)ac.getBean("userService");
User u = new User();
u.setUsername("me haha ");
service.add(u);

}
}


七。测试结果

me haha user---haha!
WGCNA分析中那些没人告诉你的坑:以肺结核差异基因模块筛选为例 本文深入探讨WGCNA分析在肺结核差异基因模块筛选中的七个关键陷阱,包括soft-thresholding选取、样本离群值检测、模块合并阈值调整等。通过实际案例和R代码示例,揭示生信数据挖掘中常被忽视的技术细节,帮助研究者避免常见错误,提升分析结果的可靠性和生物学意义。 阅读详情

相关推荐

字节跳动已上岸测试工程师的面试经验

这个时候发面经已经有点晚了,所以现在打算让这篇面经主要面向即将秋招的童鞋,当然现在还在春招的童鞋也可以看哈,我和大家一起聊聊关于测试的二三事。   一、测试工程师的工作是什么?   测试工程师简单点说就是找bug,然后反馈给开发人员,不要小看这个工作。   首先很明显的bug开发人员有时候自己就能找到,测试人员要有比开发人员更加全面的想法才能找到深层次的问题点,   其次,要端正一个态度就是测试人员不是一个电脑小白,相反国外顶级的测试开发工程师同时也是顶级的开发工程师甚至更厉害,所以作为一个测试工程师一定要

m0_60745607的博客 2933

Spring对注解(Annotation)处理源码分析1——扫描和读取Bean定义

1.从Spring2.0以后的版本中,Spring也引入了基于注解(Annotation)方式的配置,注解(Annotation)是JDK1.5中引入的一个新特性,用于简化Bean的配置,某些场合可以取代XML配置文件。开发人员对注解(Annotation)的态度也是萝卜青菜各有所爱,个人认为注解可以大大简化配置,提高开发速度,同时也不能完全取代XML配置方式,XML 方式更加灵活,并且发...

caodaoxi的专栏 240

Cursor锁机了怎么办?实测这个开源插件帮你无限“续杯”,附详细安装与防踩坑指南

本文提供了Cursor锁机问题的详细解决方案,包括使用开源插件`cursor-fake-machine`修改机器标识、锁定配置文件权限以及优化使用规范。同时介绍了如何利用Cursor开发油猴脚本将微信公众号文章高效转换为Markdown格式,提升内容创作效率。

weixin_26805597的博客 767

springboot初始化bean扫描

这里主要是扫描自定义注解 public class AnnotationScan implements ApplicationListener{ @Autowired RedisTemplate redisTemplate; private final static Logger logger = LoggerFactory.getLogger(Annotation

滴水穿石 4695

10分钟学会工程领域Hypermesh与Abaqus联立处理大量铆钉连接简化做法

铆钉连接是一种可靠且高强度的机械连接方式,广泛应用于多个领域。但是,工程结构上铆钉连接往往以较大的数量出现,若按照常规的一个个去选择生成,处理1个铆钉连接点需要1分钟来算,300个铆钉需要5个小时,耗费大量的时间成本。给出了一种高效处理铆钉连接的方法,提升效率50倍以上。

qq_34933927的博客 1616

英飞凌AURIX 2G 系列MCU关于外设模块EVADC的实现原理及对应MCAL(EB Tresos)配置项详细讲解

本文章讲述了英飞凌AURIX 2G系列MCU关于外设模块EVADC的实现原理及对应MCAL配置工具(EB)的配置项。

weixin_46176506的博客 6276

3.Spring源码关于annotation扫描(1)

spring源码关于annotation扫描Spring对于的详细解释的配置详情欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML ...

拯救大白程序猿的博客 714

倍福EL6002实现RS232自由口通信,以称重模块RS232数据接收为例

RS-232是美国电子工业联盟制定的串行数据通信接口标准,原始编号全称是EIA-RS-232(简称RS232),它被广泛用于DCE(Data Communication Equipment ) 和 DTE(Data Terminal Equipment) 之间的连接。最早的台式电脑都会保留9针的232接口,用于串口通信,目前基本被USB接口取代。CTS是对请求发送RTS信号的响应,当DCE已经准备好接收数据时,该信号有效(ON),通知DTE可用使用TXD发送数据了。弄完了,再将CTS设置为1,让A发数据。

weixin_41883890的博客 1726

异步处理(CompletableFutrue)应用笔记

CompletableFuture,提供了非常强大的Future的扩展功能,可以帮助我们简化异步编程的复杂性,提供了函数式编程的能力,可以通过回调的方式处理计算结果,并且提供了转换和组合CompletableFuture的方法。虽然 Future以及相关使用方法提供了异步执行任务的能力,但是对于结果的获取却是很不方便,只能通过阻塞或者轮询的方式得到任务的结果。handle 可以获取异步任务的返回值和抛出的异常信息,而且可以显示的修改返回的结果。接收任务的处理结果,并消费处理,无返回结果。

qq_40691438的博客 926

高分SCI讨论部分必学AI写作套路!仅需五步结合GPT‑5辅助,让你的SCI论文更有说服力(附实用AI提示词)

对于很多写SCI论文的学术人来说,其实“讨论部分”才是最致命的,网上虽然有大量的写作技巧和模板提供参考,但往往让人眼花缭乱,还是不知道如何下手。即便是下手了,也很难兼顾学术性与可读性,实际上讨论部分的难点并不在于写,而在于你能研究结果说清楚。今天七哥教你借助GPT-5,用五步法结合精心设计的AI提示词,让你能在科学逻辑与语言表达上一次性解决“讨论部分”的结构、内容、润色和翻译问题,轻松写出符合高分SCI期刊要求的讨论段落。

智能AI让学术科研更容易 1330

R语言使用party包中的ctree函数构建条件推理决策树(Conditional inference trees)、使用plot函数可视化训练好的条件推理决策树、条件推理决策树的叶子节点的阴影区域表

R语言使用party包中的ctree函数构建条件推理决策树(Conditional inference trees)、使用plot函数可视化训练好的条件推理决策树、条件推理决策树的叶子节点的阴影区域表示的是阳性样本的比例

data+scenario+science+insight 1226

Spring中的注解扫描

创建接口TestRepository package ss.java.springannotationscan.repository; public interface TestRepository { void testRepositoryMethod(); } 实现类TestRepositoryImpl package ss.java.springannotationscan.repository.impl; import org.springframework.stereotype.Re

weixin_43912117的博客 4567

Pinocchio 快速详细入门教程 —— 开源机器人运动学动力学库

本文介绍了机器人学中的数字机器人学、正逆运动学、动力学仿真与控制、最优控制等核心主题,以及Pinocchio库的应用。内容包括: 数字机器人学:通过UR5机器人模型演示了构型空间采样、碰撞检测、路径规划等基础操作,使用优化方法在约束条件下寻找有效构型。 运动学:详细讲解了二维和三维机器人的正运动学(构型到末端位置)和逆运动学(目标位置到构型),包括串联机械臂和并联机器人的处理。 动力学与控制:介绍了动力学仿真(如自由落体、摩擦效应)、PD控制、计算扭矩控制,以及接触仿真(碰撞检测与处理)。 最优控制:以独轮

机器人控制与仿真应用 2883

spring中context:annotation-config与context:component-scan

我们在spring中会经常配置一些context:annotation-config/与包扫描<context:component-scan base-package=“com.xxx.xxx.xxx”/> context:annotation-config/ context:annotation-config/是用于激活那些已经在spring注册的bean,显示的向spring容器注...

L X D的博客 213

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【spring注解】context:annotation-config和context:component-scan区别

文章目录1. @Autowired注解原理1.1 @Autowired不生效演示1.2 @Autowired生效演示1.3 总结2. context:annotation-config2.1 存在的不足3. context:component-scan4.总结4.1 如果同时使用这两个配置会不会出现重复注入的情况呢? Spring 中在使用注解(Annotation)会涉及到< context:annotation-config> 和 < context:component-scan&gt

m0_45406092的博客 2131

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

spring配置中annotation-config与component-scan区别

stackoverflow上相关问题连接自己总结如下: annotation-config对@Required, @Autowired etc 这类注解有效,但一定要注意的是,使用此类注解的bean一定是要在bean容器中注册过了的(比如xml中自定义的bean,或者后文提到的注解方式) Annotation config main job is to activate all the anno

normol的博客 460

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Spring 中context:annotation-config、context:component-scan和mvc:annotation-driven配置的作用

一、 <context:annotation-config/> 配置 <context:annotation-config />是为了激活Spring所支持的一系列注解,诸如:Spring自带的@Required和@Autowired,JSR 250提供的 @PostConstruct, @PreDestroy and @Resource注解,JAX-WS提供...

Cloud-Future的博客 1444

Spring| context:annotation-config 和 context:component-scan的区别

总结: context:annotation-config 是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过package sanning的方式) context:component-scan除了具有context:annotation-config的功能之外,context:component-scan还可以在指定的package下扫描以及注册javabea...

YvesHe的专栏 459

spring Annotation annotation-config 和 component-scan

<context:annotation-config>是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过package sanning的方式)上面的注解 (@Resource和@Autowired)。 <context:component-scan>除了具有<context:annotation-config>的功能之外,...

q503385724的博客 226

Spring 中context:annotation-config 和 context:component-scan的区别

转载自原博主链接 context:annotation-config 是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过package sanning的方式)上面的注解。 context:component-scan除了具有context:annotation-config的功能之外,context:component-scan还可以在指定的package下扫描...

隐0士的博客 272

annotation-config vs component-scan – Spring Core--转

原文地址:http://techidiocy.com/annotation-config-vs-component-scan-spring-core/ <context:annotation-config> and <context:component-scan> are two of the most basic concepts available in t...

92

Spring配置之context:annotation与、component-scan以及annotation-driven

spring boot帮助我们隐藏了大量的细节,有些配置spring boot都是开启的,因此当我们查看遗留项目使用spring时候遇见问题一定细心排查 <!-- context:annotation 注解作用是:对于项目中使用注解的变量,而且该变量的值在spring容器中存在的话,则就将值注入到变量中--> <context:annot...

weixin_30469895的博客 145

spring <context:component-scan />及<mvc:annotation-driven />使用说明

spring <context:component-scan />、<mvc:annotation-driven />配置及其意义

u011079274的专栏 5576

Spring配置之<context:annotation-config/>和<context:component-scan/>详解

基于注解方式配置Spring的配置文件中,你会见到 <context:annotation-config />和<context:component-scan />的配置,这是什么作用呢? 1、<context:annotation-config />的作用是向Spring容器中注册4个 BeanPostProcessor,分别是AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、

wzhy2016的博客 889

spring context:component-scan与context:annotation-config的区别

前言 &amp;amp;amp;lt; context:annotation-config/&amp;amp;amp;gt; 用来注册几个常用的BeanPostProcessor,常见的BeanPostProcessor有ConfigurationClassPostProcessor 、AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor,他们主要用...

wangjun5159的专栏 1372

[内容有误,请看参考和评论区]Spring 注解配置(annotation-config 和 component-scan的不同)

Spring 的xml配置里如何仅通过注解使用(annotation-config 和 component-scan的不同)这个问题也算看了好几遍还没记住的问题,先抛结论,如果是为在Spring中声明注解,不需xml配置的话,使用<context:component-scan base-package="com">类似的就可以实现无bean声明。 然后,我们详细说下这两个配置的作用: * <co

lqadam的博客 1万+
上一篇: spring_annotation_DI(autoware&resoure)
下一篇: Spring_Annotation_AOP
futureofstar
博客等级 码龄17年 0粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值