注解开发

配置文件

<?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:component-scan base-package="com.spring"/><!--    开启注解开发-->    <context:annotation-config></context:annotation-config></beans>

POJO

@Component//作为组件注入bean 相似于<bean id="user" class="com.spring.pojo.User"/>public class User {    //值的注入相似于咱们的<property name="name" value="张三"></property>    @Value("张三")    private String name;    public String getName() {        return name;    }}

Dao

@Repository//注入默认为 Dao层对应三层架构的数据长久层public class UserDao {    private User user;    @Autowired    public UserDao(User user){        this.user = user;    }    public void getName(){        System.out.println(user.getName());    }}

Service

@Service//注入默认为 Service层对应三层架构的业务层public class UserService {    public UserDao userDao;    @Autowired    public UserService(UserDao userDao){        this.userDao = userDao;    }    public void getName(){        userDao.getName();    }}

Controller

@Controller//注入默认为 Controller层对应三层架构的管制层层public class UserController {    private UserService userService;    @Autowired    public UserController(UserService userService){        this.userService=userService;    }    public void getName(){        userService.getName();    }}

启动类

public class AnnotationTest {    public static void main(String[] args) {        ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");        UserController userDao = context.getBean("userController", UserController.class);        userDao.getName();    }}

纯注解开发

配置文件

/*** 表明该类是Spring的配置类* 相似于咱们的xml文件* 这个类也会交给Spring治理,@Configuration蕴含@Component注解*/@Configuration/** * 包扫描相似于    <context:component-scan base-package="com.spring"/> */@ComponentScan("com.spring")/** * 导入另一个配置文件 * 相似于 <import resource="springConfig2.xml"></import> */@Import(SpringConfig2.class)public class SpringConfig {    /**     * 相似于<bean></bean>     * 注入了一个对象     * 办法名是id属性     * 办法返回值的类型是class属性     */    @Bean    public User user(){        return new User();    }}