IOC注解开发与XML整合

区别:

xml:可以适用于任何场景,结构清晰,方便维护

注解:开发方便,快速。有些地方适用不了,这个类不是自己提供的(比如源码提供的类)

xml和注解整合开发,各取所长

xml使用于对bean进行管理,方便后期维护。注解是方便进行属性注入

package zcc.spring_day2.demo3;

public class OrderDao {
    public void save() {
        System.out.println("OrderDao的save方法执行了.......");
    }
}
package zcc.spring_day2.demo3;

public class ProudctDao {
    public void save() {
        System.out.println("ProudctDao的save方法执行了.......");
    }
}
package zcc.spring_day2.demo3;

import javax.annotation.Resource;

public class UserService {
    @Resource(name="orderDao")
    private OrderDao orderDao;
    @Resource(name="productDao")
    private ProudctDao productDao;

    /*public void setOrderDao(OrderDao orderDao) {
        this.orderDao = orderDao;
    }
    public void setProductDao(ProudctDao productDao) {
        this.productDao = productDao;
    }*/

    public void save() {
        System.out.println("UserService的save方法执行了.......");
        orderDao.save();
        productDao.save();
    }
}

在没有开启扫描的情况下,若要使用注解开发,需要在xml中开启<context:annotation-config/>

用xml方式管理bean

测试类代码如下

package zcc.spring_day2.demo3;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/*
 * XML和注解整合,XML管理类,用注解来完成属性注入
 */
public class SpringDemo3 {
    @Test
    public void demo1() {
        // 创建spring的工厂来将xml中所有的bean实例化
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext2.xml");
        UserService bean = (UserService) applicationContext.getBean("userService");
        bean.save();
    }
}

运行结果如下

原文地址:https://www.cnblogs.com/zengcongcong/p/10359087.html

时间: 2024-10-09 08:10:15

IOC注解开发与XML整合的相关文章

Spring的IOC注解开发入门1

基本知识点如下: 引入注解约束,配置组件扫描 类上的注解: @Conponent  @Controller @Service @Repository 普通属性的注解   @value 对象属性的注解    @Resource   @Autowired  @Qualifier Bean生命周期,初始化与销毁: @PostConstruct @PreDestroy Bean作用范围:@Scope("prototype")  , 默认是singleton 1.创建web项目引入jar包 除了

Spring的IOC注解开发入门2

注解方式设置属性的值 在我们IOC基于xml属性注入的方式中有(一般推荐set方法) 构造方法注入普通值:<constructor-arg>的使用 set方法注入普通值:<property>的使用   注入对象值:ref的使用 SPEL方式注入普通值与对象值 #{SPEL} P名称空间方式注入普通值与对象值 在我们IOC基于注解方式开发中 普通属性:Value 对象属性:AutoWired :设置对象类型的属性的值,按照类型注入.习惯是按照名称完成属性注入,那么和以下注解配合使用@

spring注解开发及AOP

Spring的bean管理(注解) 注解介绍 1 代码里面特殊标记,使用注解可以完成功能 2 注解写法 @注解名称(属性名称=属性值) 3 注解使用在类上面,方法上面 和 属性上面 Spring注解开发准备 1 导入jar包 (1)导入基本的jar包 (2)导入aop的jar包 2 创建类,创建方法 3 创建spring配置文件,引入约束 (1)第一天做ioc基本功能,引入约束beans (2)做spring的ioc注解开发,引入新的约束 <beans xmlns:xsi="http://

JAVAWEB开发之Spring详解之——Spring的入门以及IOC容器装配Bean(xml和注解的方式)、Spring整合web开发、整合Junit4测试

Spring框架学习路线 Spring的IOC Spring的AOP,AspectJ Spring的事务管理,三大框架的整合 Spring框架概述 什么是Spring? Spring是分层的JavaSE/EE full-stack(一站式)轻量级开源框架. 所谓分层: SUN提供的EE的三层结构:web层.业务层.数据访问层(也称持久层,集成层). Struts2是web层基于MVC设计模式框架. Hibernate是持久的一个ORM的框架. 所谓一站式:Spring框架有对三层的每层解决方案.

spring IOC快速入门,属性注入,注解开发

我们使用spring框架也会使用到配置文件,我们需要在src下创建一个关于spring的配置文件,一般情况名称叫applicationContext.xml 基本约束: <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> IOC快速入门 inversion of Controller

SpringMVC-Mybatis整合和注解开发

SpringMVC-Mybatis整合和注解开发SpringMVC-Mybatis整合整合的思路在mybatis和spring整合的基础上 添加springmvc.spring要管理springmvc编写的Handler(controller).mybatis的SqlSessionFactory.mapper.别名.映射等步骤:整合dao(mapper)层,spring和mybatis整合整合service,spring管理service接口,service中可以调用spring容器中dao(m

Spring+MyBatis纯注解零XML整合(4)

不得不说,利用XML作为配置文件是一个非常好的想法,它可以轻松地实现配置集中化,而且修改之后无需再次编译.然而,由于大多数情况下开发者基本都会拿到程序的源码,加之对于各种XML配置文件一般情况下也只有开发者会去动,可以说XML在一定程度上也相当于程序代码,只是不用编译而已.因此很多人并不是很喜欢XML这种东西.早在Spring 2.5之前就有很多人对满天飞的XML配置叫苦不迭.从Spring 3开始,Java config开始出现,这一特性使得Spring能够摆脱XML配置文件.但是大多数人仍然

Spring框架 IOC注解

Spring框架的IOC之注解方式的快速入门        1. 步骤一:导入注解开发所有需要的jar包        * 引入IOC容器必须的6个jar包        * 多引入一个:Spring框架的AOP的jar包,spring-aop的jar包        2. 步骤二:创建对应的包结构,编写Java的类        * UserService            -- 接口        * UserServiceImpl        -- 具体的实现类        3.

Spring入门(二)— IOC注解、Spring测试AOP入门

一.Spring整合Servlet背后的细节 1. 为什么要在web.xml中配置listener <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> 配置listener主要是为了捕获项目发布 | 服务器启动的契机 ,为了解析xml , 创建工厂. 这个listener是spring官方提供