介绍bean注解标识表现层、业务层、持久化层
关键代码:// bean
@Component
public class User{}
// 表现层
@Controller
public class UserController {}
// 业务层
@Service
public class UserService {}
// 持久化层(可以重写名称)
@Repository("userRepository"){}
bean.xml:
详细:
User.javapackage com.shuoeasy.test.component;
import org.springframework.stereotype.Component;
@Component
public class User {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
}
}
UserController.java:package com.shuoeasy.test.controller;
import org.springframework.stereotype.Controller;
// 表现层
@Controller
public class UserController {
public void execute(){
System.out.println("UserController execute");
}
}
UserService.java:package com.shuoeasy.test.service;
import org.springframework.stereotype.Service;
// 业务层
@Service
public class UserService {
public void add(){
System.out.println("UserService add");
}
}
UserRepositoryImpl.java:package com.shuoeasy.test.repository.impl;
import org.springframework.stereotype.Repository;
import com.shuoeasy.test.repository.UserRepository;
// 持久化层(可以重写名称)
@Repository("userRepository")
public class UserRepositoryImpl implements UserRepository{
public void save() {
System.out.println("UserRepositoryImpl save");
}
}
bean.xml:<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
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-4.2.xsd">
base-package="com.shuoeasy.test"
use-default-filters="true"
>
Main.java:package com.shuoeasy.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.shuoeasy.test.component.User;
import com.shuoeasy.test.controller.UserController;
import com.shuoeasy.test.repository.UserRepository;
import com.shuoeasy.test.service.UserService;
public class Main {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
// bean
User user = (User) ctx.getBean("user");
System.out.println("user->" + user);
// 表现层
UserController userContoller = (UserController)ctx.getBean("userController");
userContoller.execute();
// 业务层
UserService userService = (UserService) ctx.getBean("userService");
userService.add();
// 持久层
UserRepository userRepository = (UserRepository)ctx.getBean("userRepository");
userRepository.save();
}
}
输出:
user->User [id=0, name=null]
UserController execute
UserService add
UserRepositoryImpl save