Spring 注解配置Bean】的更多相关文章

一.使用注解配置Bean 1.注解 在类定义.方法定义.成员变量定义前使用.其简化<bean>标签,功能同<bean>标签.格式为: @注解标记名. 2.组件扫描 Spring可以从classpath(类路径)下自动扫描.实例化具有特殊注解的组件.常用注解:(1)@Repository 一般用于数据访问(数据访问(持久)层组件,实现dao访问)(2)@Service 一般用于服务(业务层组件,处理业务逻辑,比如注入并操作dao)(3)@Controller 一般用于控制器(控制层组…
在classpath中扫描组件 组键扫描:能够从classpath下自动扫描,侦测和实例化具有特定注解的组件 特定的组件包括: ->@Componment:基于注解,标识一个受Spring管理的组键 ->@Respository:标识持久层组件 ->@Service:标识服务层 ->@controller:标识表现层组件 对于扫描到的组件,Spring有默认的命名策略,使用非限定类名,第一个字母小写,也可以通过注解中value属性值标识组建的名称 在classpath中扫描组键当在…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
实验1:配置通过静态工厂方法创建的bean  [通过静态方法提供实例对象,工厂类本身不需要实例化!] 1.创建静态工厂类 public class StaticFactory { private static HashMap<String, Book> map = null; static{ map = new HashMap<>(); map.put("book01", new Book("java", "you", 3…
在ClassPath中扫描组件 1)组件扫描(component scanning):Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件: 2)特定组件包含: --- @Component:基本注解,标识了一个受Spring管理的组件: --- @Respository:标识持久层组件: --- @Service:标识服务层(业务层)组件: --- @Controller:标识表现层组件 3)对于扫描到的组件,Spring有默认的命名策略:使用非限定类名,第一个字母小…
1 环境版本说明 Jdk : 1.8 Maven : 3.5 IDEA : 专业版 2017.2 2 环境准备 2.1 Maven安装及其配置 2.2 Tomcat安装及其配置 3 详细步骤 3.1 根据模板创建maven工程 file -> new -> project -> maven -> webapp 技巧01:根据模板创建web工程时,请选择 maven-archetype-webapp 3.2 目录结构调整 项目创建成功后的目录结构如下: 跳坑01:新创建的项目中没有存…
一. 通过注解配置bean 1.1       概述 相对于XML方式而言,通过注解的方式配置bean更加简洁和优雅,而且和MVC组件化开发的理念十分契合,是开发中常用的使用方式. 1.2       使用注解标识组件 ①普通组件:@Component:标识一个受Spring IOC容器管理的组件 ②持久化层组件:@Respository:标识一个受Spring IOC容器管理的持久化层组件 ③业务逻辑层组件:@Service:标识一个受Spring IOC容器管理的业务逻辑层组件 ④表述层控制…
Spring框架入门之基于Java注解配置bean 一.Spring bean配置常用的注解 常用的有四个注解 Controller: 用于控制器的注解 Service : 用于service的注解 Component: 用于基本组件的注解 Repository:用于Dao层的注解 其实,对于spring来说,它根本无法识别controller,service等,它只知道只要你加了以上四个注解,它就帮你创建bean 简单来说,就是如果你在控制器上使用Component注解,或者使用Reposit…
使用Spring注解完成Bean的定义 2010-04-21 16:48:54|  分类: spring|举报|字号 订阅     下载LOFTER客户端     通过@Autowired或@Resource来实现在Bean中自动注入的功能,但还要在配置文件中写Bean定义,下面我们将介绍如何注解Bean,从而从XML配置文件 中完全移除Bean定义的配置. 1. @Component(不推荐使用).@Repository.@Service.@Controller  只需要在对应的类上加上一个@…
之前说的三种配置方式,都是使用XML配置,现在我们说说使用注解配置Bean. 这部分内容主要分为两个部分:使用注解配置Bean,使用注解配置Bean属性. 在classpath中扫描组件 组件扫描:Spring能够从ClassPath下自动扫描,侦测和实例化具有特定注释的组件 特定组件包括: @Component @Respository 持久层 @Service 业务层 @Controller 控制层 这四个标签可以混用,暂时没有什么区别,不过建议在不同层用不同的注释,方便阅读. 创建一个新的…
今天分享一下 关于Spring注解配置的流程 1 导包:如下图所示 2 书写User和Car类  代码如下 package cn.lijun.bean; public class Car { private String name; private String color; public String getName() { return name; } public void setName(String name) { this.name = name; } public String g…
下面将对13Spring通过注解配置Bean(1)的中Repository.Service.Controller通过注解方式来建立关联. <context:component-scan>元素还会自动注册AutowiredAnnotationBeanPostProcessor后置处理器实例,该实例可以自动装配具有@Autowired属性. @Autowired注解会自动装配具有兼容类型的单个Bean属性 ——构造器,普通字段(即使是非public),一切具有参数的方法都可以应用@Autowire…
配置Bean的形式:基于XML文件的方式:基于注解的方式(基于注解配置Bean:基于注解来装配Bean的属性) 下面介绍基于注解的方式来配置Bean. ——组件扫描(component scanning):Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件. ——特定组件包括: 1.@Component:基本注解,标识了一个受Spring管理的组件 2.@Respository:标识持久层组件 3.@Service:标识服务层(业务层)组件 4.@Controller…
Spring注解配置和xml配置优缺点比较 编辑 ​ 在昨天发布的文章<spring boot基于注解方式配置datasource>一文中凯哥简单的对xml配置和注解配置进行了比较.然后朋友看到文章后,就问:那你说说这两种区别. 编辑 ​ 额,说真的,还真把凯哥给问蒙圈了.本文来源:凯哥Java[kaigejava] 凯哥当时就回答:注解的方便.如果再深入呢?还真说不明白. 是啊,现在都在说注解好,但是注解和xml比较起来有哪些优点呢?xml又为什么不好呢?有没有深入思考过么?以下内容是凯哥从…
在spring中使用注解配置前需要先在配置文件指定需要扫描的包. 通过注解的方式依赖注入,可以不用创建set方法,也不用在xml文件中申明注入关系. 实例结构如下: 整个流程是: 先创建好数据库的表对应的持久类"User".再定义好数据层和业务逻辑层的接口. 在测试类中,获取bean容器中具体的业务逻辑实现类实例(UserServiceImpl),往里面传一个user参数,之后UserServiceImpl对象将参数经过处理再传给数据层实现类(UserDaoImpl),这个UserDa…
最近看起spring源码,突然想知道没有web.xml的配置,spring是怎么通过一个继承于AbstractAnnotationConfigDispatcherServletInitializer的类来启动自己的.鉴于能力有限以及第一次看源码和发博客,不到之处请望谅~ 我用的IDE是IntelliJ IDEA,这个比myEclipse看源码方便一点,而且黑色背景挺喜欢.然后项目是在maven下的tomcat7插件运行.spring版本是4.3.2.RELEASE. 如果写过纯注解配置的spri…
对于java bean的定义和依赖配置,使用xml文件真心是不方便. 今天学习如何用注解,解决bean的定义和注入. 常用注解: 1.自动注入:@Resources,@Autowired 2.Bean定义:@Component.@Repository.@Service 和 @Constroller @Component是个泛化概念,可以用在任何层次.如果是web开发,尽量用@Repository.@Service 和 @Constroller Demo: 以丁磊养猪为例,Pig和DingLei两…
一.背景知识 在[Spring实战]Spring容器初始化完成后执行初始化数据方法一文中说要分析其实现原理,于是就从源码中寻找答案,看源码容易跑偏,因此应当有个主线,或者带着问题.目标去看,这样才能最大限度的提升自身代码水平.由于上文中大部分都基于注解进行设置的(Spring实战系列篇demo大部分也都是基于注解实现的),因此就想弄明白Spring中注解是怎么工作的,这个也是分析上文中实现原理的一个基础.于是索性解析下Spring中注解的工作原理. 二.从context:component-sc…
之前学习了SpringAop的基本原理.http://www.cnblogs.com/expiator/p/7977975.html 现在尝试使用注解来配置SpringAop. Aop,面向切面编程.包括切入点(PointCut).切面(Aspect),连接点(Joinpoint).通知(Advice).引入(Introduction) SpringAop注解,主要通过@AspectJ注解配置. 需要新增两个AspectJ库:aspectjweaver.jar和aspectjrt.jar,还有一…
最近由于项目中出现了Servlet调用Spring的bean,由于整个项目中所有的bean均是注解方式完成,如@Service,@Repository,@Resource等,但是Spring的容器管理是不识别Servlet和filter的,所以无法使用注解方式引用,在网上查了资料后看到如下的代码:第一种方式:在Servlet的init方法中来完成bean的实例化,初始化后可以在servlet中调用bean中的方法 WebApplicationContext cont = WebApplicati…
一.背景知识 在[Spring实战]Spring容器初始化完成后执行初始化数据方法一文中说要分析其实现原理,于是就从源码中寻找答案,看源码容易跑偏,因此应当有个主线,或者带着问题.目标去看,这样才能最大限度的提升自身代码水平.由于上文中大部分都基于注解进行设置的(Spring实战系列篇demo大部分也都是基于注解实现的),因此就想弄明白Spring中注解是怎么工作的,这个也是分析上文中实现原理的一个基础.于是索性解析下Spring中注解的工作原理.   二.从context:component-…
问:怎么用注解来配置bean与bean之间的引用关系? [组件装配] 1.<context:component-scan> 元素还会自动注册AutowiredAnnotationBeanPostProcessor实例,该实例可以自动装配具有@autowired和@Resource.@Inject注解的属性. [使用@Autowired自动装配Bean] @Autowired注解自动装配具有兼容类型的单个Bean属性 --构造器,普通字段(及时是非public),一切具有参数的方法都可以应用 @…
注解配置: 1.为主配置文件引入新的命名空间(约束) preference中引入文件 2.开启使用注解代理配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans&qu…
通过注解方式注入bean,需要在配置类下注入bean 第一步,配置扫描文件夹 首先要在spring.xml中配置需要扫描的配置类 <context:componenet-scan base-package="com.kylin.config" /> 第二步,新建注解配置类 @Configuration public class RedisConfiguration { @Value("${redis.host}") private String redi…
Spring注解开发需要jar包 和 xml开发 一样的 ! 第一步: 新建项目, 导入jar包(就是前一篇文章里面的那几个核心jar包) 第二步: 在需要spring创建对象类上面 添加@Component (注解 来自spring2.5 )…
在实际项目开发中经常会有单元测试,单元测试中经常会用类似这样的代码片段获取spring管理的bean @Test public void testSendEmail(){ MessageService messageService = (MessageService) BeanFactory.getInstance().getBean("messageService"); messageService.send(); } 这样既不美观,又比较繁琐,spring引进了spring-tes…
概要: 实例代码具体解释: 文件夹结构 Car.java package com.coslay.beans.factorybean; public class Car { private String brand; private double price; public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; } public double getP…
@Component: 基本注解, 标识了一个受 Spring 管理的组件@Repository: 标识持久层组件@Service: 标识服务层(业务层)组件@Controller: 标识表现层组件 配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&qu…
1.组件装配 <context:component-scan>元素还会自动注册AutowiredAnnotaionBeanPostProcessor实例,这是一个bean的后置处理器,该实例可以自动装配具有@Autuwired和@Resource.@Inject注解的属性(前提是在容器当中要自动装配的bean已经存在),其中@Autowired是最常用的. 2.@Autowired注解 @Autowired注解自动装配具有兼容类型的单个Bean属性,构造器,普通字段(即使是非public),一…
Spring的注入机制其实就是代替了new的这个过程(称为解耦). 写了一个Thread类,没有加注解@Component,但是可以正常运行,开始为了自圆其说,打通逻辑,猜测是StartThread中调用的时候new了一个,事实上也确实是如此,但是刚开始确实有点混乱,因为我想到Pojo类和Util那些方法为什么可以直接使用,以上的疑惑,是我相信java程序运行是spring容器必须加载到bean,或者说JVM必须加载到bean的事实,还好,我坚定的事实没有错,不然得想很久了.那么,为什么可以使用…