spring-ioc注解-理解2 零配置文件
没有xml配置文件下的对象注入,使用到一个Teacher类,Config配置类,Test测试类。
1、Teacher类
import lombok.Data; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; import java.util.Date; //零配置文件 @Data @Component("tea") //加载properties文件 @PropertySource({"classpath:date.properties"}) public class Teacher { @Value("1") private int id; // @Value("renzhe") @Value("${jdbc.url}") private String name; @Value("1500") private double salary; @Autowired private Date date; }
2、配置类Config
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import java.util.Date; //配置类相当于一个配置文件 @Configuration //扫描的注解 扫描com.briup.spring的包以及他的子包子子包 @ComponentScan("com.briup.spring") public class Config { //@Bean相当于bean标签 作用是把方法的返回值放入到容器中 // 且默认方法的名字就是他的唯一标识 若想自定义名字则@Bean("名字") @Bean public Date date(){ return new Date(); } }
3、Test测试类
@Test public void test2(){ ApplicationContext app = new AnnotationConfigApplicationContext(Config.class); Teacher tea = app.getBean(Teacher.class); System.out.println(tea); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义