spring注解开发
来源:互联网 发布:怎么申请淘宝账号小号 编辑:程序博客网 时间:2024/06/06 17:22
spring的bean管理(注解)
注解介绍:
- 代码里面特殊标记,使用注解可以完成功能
- 注解写法@注解名称(属性名=属性名)
- 注解使用类上面,方法上面和属性下面
spring注解开发准备:
1、导入jar包(4个核心包,与两个日志包),导入aop的jar包
2、创建类,创建方法
3、创建spring配置文件,引入约束
(1)做ioc的基本功能,引入约束beans
打开G:\spring-framework-4.3.7.RELEASE\docs\spring-framework-reference\html,里面的最后一个文件,找到该部分,粘贴:
(2)做spring的ioc注解开发,引入新的约束
bean.xml
<?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"> <!-- bean definitions here --><!-- 开启注解扫描(包含类,方法,属性) --><context:component-scan base-package="cn.itcast.anno"></context:component-scan></beans>User.java
@Component(value = "user")// 相当于<bean id="user" class=" "></bean>public class User {public void add() {System.out.println("add()");}}
测试:
public class TestAnno {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("bean2.xml");User user = (User) context.getBean("user");user.add();System.err.println(user);}}
创建对象有四个注解:
spring中提供@Component的三个衍生注解(功能来讲一样):
- @controller web层
- @service 业务层
- @Repository 持久层
注解注入属性:
1、创建service类,创建dao类,在service得到dao对象
进入属性第一个注解@Autowored
UserDao.java
@Component(value = "userdao")public class UserDao {public void add() {System.out.println("userdao.add()");}}UserService.java
@Service(value="userservice")public class UserService {@Autowiredprivate UserDao userDao;public void add(){System.out.println("service");userDao.add();}}测试:
public class TestAnno2 {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("bean2.xml");UserService userService = (UserService) context.getBean("userservice");userService.add();}}2、注入属性第二个注解,@Resource
UserDao.java
@Component(value = "userdao")public class UserDao {public void add() {System.out.println("userdao.add()");}}
UserService.java
@Service(value="userservice")public class UserService {@Resource(name="userdao")private UserDao userDao;public void add(){System.out.println("service");userDao.add();}}
测试:
public class TestAnno2 {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("bean2.xml");UserService userService = (UserService) context.getBean("userservice");userService.add();}}
配置文件和注解混合使用:
1、创建对象操作使用配置文件方式实现
2、注入属性操作使用注解方式实现
BookSerivce.java
public class BookService {@Resource(name="bookDao")private BookDao bookDao;@Resource(name="orderDao")private OrderDao orderDao;public void add(){System.out.println("bookservice");bookDao.book();orderDao.buy();}}BookDao.java
public class BookDao {public void book(){System.out.println("book dao");}}OrderDao.java
public class OrderDao {public void buy(){System.out.println("orderdao.buy()");}}bean2.xml
<?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"> <!-- bean definitions here --><!-- 开启注解扫描(包含类,方法,属性) --><context:component-scan base-package="cn.itcast.anno"></context:component-scan><!-- 配置对象 --><bean id="bookService" class="cn.itcast.anno.BookService"></bean><bean id="bookDao" class="cn.itcast.anno.BookDao"></bean><bean id="orderDao" class="cn.itcast.anno.OrderDao"></bean></beans>测试:
public class TestAnno3 {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("bean2.xml");BookService bookService = (BookService) context.getBean("bookService");bookService.add();}}
阅读全文
0 0
- spring MVC 注解开发
- Spring bean注解开发
- Spring 注解开发
- spring AOP 注解开发
- Spring IOC注解开发
- spring之注解开发
- spring注解开发
- Spring注解开发
- Spring MVC注解开发
- Spring注解开发
- spring注解开发1
- Spring注解开发准备工作
- 2、spring非注解/注解开发
- spring的注解开发模式
- Spring MVC 注解开发备忘录
- Spring MVC 注解开发备忘录
- Spring 模拟注解开发实例
- Spring MVC 注解开发WEB
- 稳定排序
- Learning Curves
- No 'Access-Control-Allow-Origin' header is present on the requested resource.'Ajax跨域访问解决方案
- 剑指Offer----树的子结构
- ARKit 及 Core ML 等 7月份五大令人惊叹的 iOS 库
- spring注解开发
- Java中Arrays类进行数组排序
- Linux Shell及常用命令简介
- Get Revittypeselector
- 近期热门微信小程序demo源码下载汇总
- 1124: 两个有序数组合并
- 蛇形填数
- 0724JS Link
- HDU5531(三分)