`

@Autowired和new的区别

 
阅读更多
@Autowired相当于setter,在注入之前,对象已经实例化,是在这个接口注解的时候实例化的;
而new只是实例化一个对象,而且new的对象不能调用注入的其他类
eg:
1、控制器

@controller
public class BusinessShopShoesController extends BaseController {

    @Autowired
    private ShoesService shoesService;//相当于setter,已经实例化
    }

2、业务层

@service
public class ShoesService  extends CrudService<ShoesDao, Shoes> {

    @Autowired
    ShoesModelDao shoesModelDao;
    @Transactional(readOnly = false)
    public Shoes get(int id)
    {
        return shoesModelDao.get(id);
    }  
    }

此时如果1 中new一个service,那么就不能调用2 中的Dao了,因为DAO是依赖注入的
分享到:
评论

相关推荐

    Spring@Autowired注解与自动装配.rar

    - 如果`@Autowired`和JSR 330的`@Inject`同时存在,Spring会优先考虑`@Autowired`。 ### 6. 总结 `@Autowired`注解是Spring框架中实现依赖注入的重要工具,它简化了bean之间的依赖关系管理,增强了代码的灵活性和可...

    BeanPostProcessor实现注入的@Autowired注入的对象是增强的代理对象.rar

    当我们谈论"BeanPostProcessor实现注入的@Autowired注入的对象是增强的代理对象"时,实际上是在讨论如何通过`BeanPostProcessor`来对`@Autowired`注入的bean进行代理增强。 首先,让我们了解`@Autowired`注解的工作...

    Spring Boot 自定义 Shiro 过滤器无法使用 @Autowired问题及解决方法

    期间遇到了两个问题:JwtTokenFilter 无法使用 @Autowired 和 anon 过滤器失效。 二、问题一:JwtTokenFilter 无法使用 @Autowired 问题所在是因为 JwtTokenFilter 中需要用到 JwtUtil 工具类,但是在 Spring 配置...

    SpringBoot集成shiro,MyRealm中无法@Autowired注入Service的问题

    通常,Shiro的初始化过程是在Spring容器启动后进行的,但是如果我们直接在配置类中使用`new`关键字创建`MyRealm`实例,那么这个实例就会独立于Spring容器,自然无法利用`@Autowired`注入Service。为了解决这个问题,...

    解决SpringBoot项目使用多线程处理任务时无法通过@Autowired注入bean问题

    本文将介绍解决该问题的方法,并详细解释原因和解决方案。 问题描述: 在Spring Boot项目中,我们通常使用@Autowired注解来注入bean对象,但是当我们使用多线程处理任务时,经常会遇到无法注入bean的问题。这是...

    Spring_Qualifier_utilizando_Autowired.pdf_springqualifier_java_a

    理解并熟练运用`@Qualifier`和`@Autowired`的组合,能够帮助开发者在复杂的Spring应用中更好地管理依赖关系,提高代码的可读性和可维护性。在实际项目中,合理地利用这些注解可以避免硬编码bean的引用,使得应用更加...

    Java获取Spring中配置的Bean的三种方式

    `@Autowired`和`@Resource`则提供了更多的自动化,降低了代码的冗余,但可能隐藏了依赖关系。在实际开发中,根据项目需求和团队偏好选择合适的方法。 为了更好地理解这些概念,可以参考《Spring框架实战》等书籍,...

    springmvc @Resource 注解方式问题

    本文将深入探讨`@Resource`注解的用法、原理以及与`@Autowired`的区别,帮助开发者更好地理解和应用这一特性。 ### `@Resource`注解概述 `@Resource`是JSR-250规范的一部分,它主要用来标记JavaBean中的属性,由...

    Spring常用的7大注解详解代码分析.docx

    本文将深入解析Spring中最常用的七大注解:`@Required`、`@Autowired`、`@Qualifier`、`@Configuration`、`@ComponentScan`、`@Lazy`和`@Value`,以及它们在实际开发中的应用。 1. **@Required** `@Required`注解...

    spring配置实例详解代码和测试

    在测试方面,Spring提供了`@ContextConfiguration`和`@Autowired`等注解来协助进行单元测试和集成测试。例如: ```java @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:...

    Spring笔记(第五次)1

    `@Autowired`可以应用于字段、方法和构造器参数,确保Spring容器在实例化对象时能正确地注入相应的bean。在示例中,我们看到`@Autowired`被用于方法参数和构造器,验证了不论在哪里使用,它都能从容器中找到匹配的...

    java quartz详解

    JobDataMap jobDataMap = new JobDataMap(); jobDataMap.put("paramKey", "paramValue"); ``` 在 `Job` 的实现中,可以通过 `JobExecutionContext` 获取 `JobDataMap`: ```java public void execute...

    springboot+JPA 多数据源配置

    在Service层,你可以通过`@Autowired`和`@Qualifier`注解来选择使用哪个数据源的Repository。例如: ```java @Service public class PrimaryService { @Autowired @Qualifier("primaryEntityManagerFactory...

    spring项目启动加载类到静态服务类中的三种方式.zip

    2. **使用`@Autowired`注解和`@ConfigurationProperties`** Spring Boot提供了一种更简洁的方式来注入配置属性或bean,即使用`@Autowired`注解。但是,由于静态方法无法直接使用注解,我们可以创建一个非静态的辅助...

    spring-boot多数据源配置示例

    在Spring Boot应用中,多数据源配置是一项常见的需求,尤其在大型系统中,可能需要连接到...`spring-boot配置多数据源.docx`文件和`DataSourceDemo`示例代码将提供更详细的实践指导,帮助你深入理解和应用这些概念。

    java 常见面试题 应届生 个人总结 仅供参考

    * `@Resource` 根据名称注入可以通过 `name` 属性来设置名字,`@Autowired` 根据类型注入,如存在多个类型则通过名称注入,要求对象必须存在,如果要允许为空则需要设置 `required = false`,可以与 `@Qualifier` ...

    pcanywhere12设置

    - 右键单击刚刚创建的“New host”,选择“Properties”,在弹出窗口中勾选“Launch with Windows”,以确保被控端随系统启动而自动运行。 9. **重启计算机**: - 最后一步是重启计算机以使所有设置生效。 #### ...

    动态代理

    总结来说,动态代理是Java中一种强大的设计模式,它通过在运行时创建代理对象,能够实现对现有对象行为的扩展和控制,极大地提高了代码的可维护性和灵活性。无论是标准库的`Proxy`类还是字节码库,都是实现这一功能...

    Spring3单元测试和集成测试

    总结起来,Spring3为单元测试和集成测试提供了强大的支持,通过JUnit、`@ContextConfiguration`、`@Autowired`等注解简化了测试代码。而DBunit则在数据库集成测试中扮演关键角色,帮助我们有效地管理和维护测试数据...

    编码剖析Spring依赖注入的原理

    Spring框架是Java开发中广泛应用的一个开源框架,以其优秀的IoC(控制反转)和DI(依赖注入)特性闻名。本文将深入解析Spring中的依赖注入原理,帮助开发者更好地理解和应用这一核心功能。 依赖注入(Dependency ...

Global site tag (gtag.js) - Google Analytics