自学内容网 自学内容网

Spring注解开发实例

假设我们的项目有一个简单的三层架构:控制器(Controller)、服务(Service)和数据访问对象(DAO)。我们将使用Spring注解来配置这些组件。

Maven依赖

首先,确保你的pom.xml文件中包含Spring相关的依赖。这里是一个简化的Maven配置示例:

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.3.9</version> <!-- 请使用最新版本 -->
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.3.9</version> <!-- 请使用最新版本 -->
    </dependency>
</dependencies>

配置类

创建一个配置类来启用组件扫描和配置Spring上下文。

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan(basePackages = "com.example")
public class AppConfig {
}

DAO层

创建一个简单的DAO接口和它的实现类。

// 接口
public interface UserRepository {
    String getUser();
}

// 实现
import org.springframework.stereotype.Repository;

@Repository
public class UserRepositoryImpl implements UserRepository {
    @Override
    public String getUser() {
        return "User from Repository";
    }
}

服务层

创建一个服务接口和服务实现类,其中使用@Autowired来注入DAO。

// 接口
public interface UserService {
    String getUser();
}

// 实现
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl implements UserService {
    private final UserRepository userRepository;

    @Autowired
    public UserServiceImpl(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    @Override
    public String getUser() {
        return userRepository.getUser();
    }
}

控制器层

创建一个简单的REST控制器,它会调用服务层的方法。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {
    private final UserService userService;

    @Autowired
    public UserController(UserService userService) {
        this.userService = userService;
    }

    @GetMapping("/user")
    public String getUser() {
        return userService.getUser();
    }
}

主程序

最后,需要一个主程序来启动Spring应用上下文,并运行一个简单的测试。

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class MainApp {
    public static void main(String[] args) {
        ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
        UserController controller = context.getBean(UserController.class);
        System.out.println(controller.getUser());
    }
}

这个例子展示了如何使用Spring的注解来构建一个简单的应用程序。通过使用@Component, @Service, @Repository, @RestController等注解,我们可以快速地定义各种组件,并利用@Autowired来进行依赖注入。这样的方式极大地简化了配置过程,能够更专注于业务逻辑的实现。


原文地址:https://blog.csdn.net/2401_85045690/article/details/143744354

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!