spring笔记2-注解
一.属性与成员变量的区别:
属性:对外暴露的,getxxx/setxxx称为属性;
成员变量:private String name称为成员变量或字段
二.applicationContext.xml的书写
<!--约束-->
<beans xmlns:context="http://www.springframework.org/schema/context"
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.2.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
</beans>
<!--在spring的配置文件中开启spring对注解ioc的支持,指定spring初始化时要扫描的包—>
<context:component-scan base-package="com.itheima"></context:component-scan>
<!--读取数据库配置文件—>
<context:property-placeholder location="classpath:db.properties"/>
<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClass}"></property>
<property name="jdbcUrl" value="${jdbc.url}"></property>
<property name="user" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
三.注解释义
@component:把资源让spring来管理。相当于在xml中配置一个bean。如果不指定value属性,默认bean的id是当前类的类名。首字母小写。
@Controller:一般用于表现层的注解。
@Service:一般用于业务层的注解
@Repository :一般用于持久层的注解
细节:如果注解中有且只有一个属性要赋值时,且名称是value,value在赋值是可以不写。
@Autowired:
作用:自动按照类型注入。
当使用注解注入属性时,set方法可以省略。它只能注入其他bean类型。当有多个类型匹配时,使用要注入的对象变量名称作为bean的id,在spring容器查找,找到了也可以注入成功。找不到就报错。
@Qualifier:在自动按照类型注入的基础之上,再按照Bean的id注入。它在给字段注入时不能独立使用,必须和@Autowire一起使用;但是给方法参数注入时,可以独立使用。
@Resource:直接按照Bean的id注入。它也只能注入其他bean类型。
@Value:注入基本数据类型和String类型数据的
@Scope:指定bean的作用范围。value:指定范围的值。取值:singleton prototype request session globalsession
@PostConstruct:用于指定初始化方法。
@PreDestroy:用于指定销毁方法
@Configuration:用于指定当前类是一个配置类,会从该类上加载注解。读取该类上@ ComponentScan注解初始化spring容器。
@ComponentScan:用于指定spring在初始化容器时要扫描的包,(xml中需要basePackages属性,用于指定要扫描的包)。和该注解中的value属性作用一样。
@PropertySource:用于加载.properties文件中的配置,value[]:用于指定properties文件位置。如果是在类路径下,需要写上classpath:
@Import:用于导入其他配置类,value[]:用于指定其他配置类的字节码。
@Bean:该注解只能写在方法上,表明使用此方法创建一个对象,并且交给spring管理。name:给当前@Bean注解方法创建的对象指定一个名称(即bean的id)。
@RunWith注解替换原有运行器;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration指定spring配置文件的位置;@ContextConfiguration(locations={"classpath:bean.xml"})
spring笔记2-注解的更多相关文章
- Spring笔记02_注解_IOC
目录 Spring笔记02 1. Spring整合连接池 1.1 Spring整合C3P0 1.2 Spring整合DBCP 1.3 最终版 2. 基于注解的IOC配置 2.1 导包 2.2 配置文件 ...
- Spring笔记04_AOP注解开发_模板_事务
目录 1. Spring基于AspectJ的注解的AOP开发 1. 1 SpringAOP的注解入门 1.2 Spring的AOP的注解通知类型 1.2.1 @Before:前置通知 1.2.2 @A ...
- Spring笔记13--SSH--全注解开发
SSH全注解开发: (1) 在Action类中添加注解,实现Struts2的注解开发(@NameSpace.@ParentPackage.@Action...) package com.tongji. ...
- spring笔记--通过注解(annotation)配置Bean
Spring能够在classpath下自动扫描,侦测和实例化具有特定注解的组件,这在Spring中成为组件扫描(Component scanning). 特定组件的注解包括: @Component:基 ...
- spring笔记-@Primary注解
1.问题 当一个接口有2个不同实现时,使用@Autowired注解时会报org.springframework.beans.factory.NoUniqueBeanDefinitionExceptio ...
- Spring学习笔记--使用注解装配
使用@Autowired注解 从Spring2.5开始,最有趣的一种装配Spring Bean的方式是使用注解自动装配Bean的属性.Spring默认禁用注解装配,最简单的启用方式是使用Spring的 ...
- Spring笔记(5) - 声明式事务@EnableTransactionManagement注解源码分析
一.背景 前面详解了实现Spring事务的两种方式的不同实现:编程式事务和声明式事务,对于配置都使用到了xml配置,今天介绍Spring事务的注解开发,例如下面例子: 配置类:注册数据源.JDBC模板 ...
- springmvc学习笔记(常用注解)
springmvc学习笔记(常用注解) 1. @Controller @Controller注解用于表示一个类的实例是页面控制器(后面都将称为控制器). 使用@Controller注解定义的控制器有如 ...
- 学习笔记_J2EE_SpringMVC_03_注解配置_@RequestMapping用法
@RequestMappingde的用法 摘要: 主要介绍注解@RequestMapping的用法 一.@RequestMapping 简介 在Spring MVC 中使用 @RequestMappi ...
- Spring笔记01_下载_概述_监听器
目录 Spring笔记01 1.Spring介绍 1.1 Spring概述 1.2 Spring好处 1.3 Spring结构体系 1.4 在项目中的架构 1.5 程序的耦合和解耦 2. Spring ...
随机推荐
- SAP 740GUI客户端快捷方式取消密码登陆
客户端电脑:WIN10 专业版64位. 1. 进入注册表编辑器(regedit) .进入如下路径:HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\SAP\SAPLogo ...
- Gym - 101845F 最大流
The UN finals are here!, the coaches/ex-coaches team is creating a new exciting contest to select wh ...
- fatal error C1859: “Release\IWBServer.pch”意外的预编译头错误,只需重新运行编译器就可能修复此问题
解决方案 1. 创建预编译头(/Yc) -- > stdafx.cpp 使用预编译头(/Yu) 2. complie 3. 使用预编译头(/Yu) -- ...
- linux curl命令:curl: (7) couldn't connect to host ?
linux curl命令:curl: (7) couldn't connect to host ? 使用linux命令 curl http://www.test.com 出现如下错误:curl: (7 ...
- POJ3041轰炸行星(匈牙利算法 最小覆盖点集)
Asteroids Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 25232 Accepted: 13625 Descr ...
- BestCoder Round #64 1002
Sum Accepts: 322 Submissions: 940 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/655 ...
- hxml总结
段落<p> br 换行 hr 分割线   空格 > > < < & & h 7级标题 <i ...
- Linux中apache服务
httpd访问控制生成共享文件vim var/www/html/cq/index.html编辑配置文件 vim /etc/httpd/conf/httpd.conf<Directory &quo ...
- 9.JSP进阶
1.JSP内置对象 JSP容器在_jspService()方法中声明并初始化9个内置对象. 名称 作用 接口/类 out 客户端打开的输出流 javax.servlet.jsp.JspWriter 接 ...
- logback日志简记
%date{HH:mm:ss.SSS} [%thread] %-5level %logger{20}:%line - %msg%n 输出: 09:54:09.657 [main] INFO c.e. ...