[Java Spring] Spring Annotation Configuration Using XML
Add context to our application.
main/resources/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" 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"> <context:annotation-config /> <context:component-scan base-package="com.pluralsight" /> </beans>
Using annotation for @Service @Repository @Controller:
/repository/HibernateCustomerRepositoryImpl.java:
package com.pluralsight.repository; import com.pluralsight.model.Customer; import org.springframework.stereotype.Repository; import java.util.ArrayList; import java.util.List; @Repository("customerRepository") public class HibernateCustomerRepositoryImpl implements CustomerRepository { @Override public List<Customer> findAll() { List<Customer> customers = new ArrayList<>(); Customer customer = new Customer(); customer.setFirstname("Byran"); customer.setLastname("John"); customers.add(customer); return customers; } }
/service/CustomerServiceImpl.java:
We use @Autowrie for the member of Repository.
package com.pluralsight.service; import com.pluralsight.model.Customer; import com.pluralsight.repository.CustomerRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service("customerService") public class CustomerServiceImpl implements CustomerService { @Autowired private CustomerRepository customerRepository; @Override public List<Customer> findAll() { return customerRepository.findAll(); } }
We can also use Setter Injection:
private CustomerRepository customerRepository; @Autowired public CustomerServiceImpl (CustomerRepository customerRepository) { this.customerRepository = customerRepository; }
We can also use Constructor Injection:
private CustomerRepository customerRepository; @Autowired public CustomerServiceImpl (CustomerRepository customerRepository) { this.customerRepository = customerRepository; }
After using Annotations & Autowired, we code looks simple and decoupled
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2017-08-22 [D3] Reuse Transitions in D3 v4
2016-08-22 [React] Styling React Components With Aphrodite
2016-08-22 [Canvas] Make Canvas Responsive to Pixel Ratio
2016-08-22 [RxJS] Introduction to RxJS Marble Testing
2015-08-22 [Node.js] Web Scraping with Pagination and Advanced Selectors
2014-08-22 [jQuery] Custom event trigger
2014-08-22 [jQuery] $.map, $.each, detach() , $.getJSOIN()