[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

posted @   Zhentiw  阅读(179)  评论(0编辑  收藏  举报
编辑推荐:
· 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()
点击右上角即可分享
微信分享提示