Spring之Annotation的使用

package com.fxr.spring.action;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.fxr.spring.model.User;
import com.fxr.spring.service.UserService;

@Controller("useraction")//MVC控制层一般使用@Controller
@Scope("prototype")//设置为多例模式
public class UserAction {

	private User u;
	private int id;
	private UserService userservice;
	private List<String>names;

	public List<String> getNames() {
		return names;
	}

	public void setNames(List<String> names) {
		this.names = names;
	}

	public UserAction(){

	}

	public User getU() {
		return u;
	}

	public void setU(User u) {
		this.u = u;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public UserService getUserservice() {
		return userservice;
	}

	@Resource
	public void setUserservice(UserService userservice) {
		this.userservice = userservice;
	}

	public void add(){
		userservice.add(u);

	}

	public void delete(){
		userservice.delete(id);
	}

}
=============================================
package com.fxr.spring.dao;

import com.fxr.spring.model.User;

public interface IUserDao {

	public void add(User u);

	public void delete(int id);

}
===============================================
package com.fxr.spring.dao;

import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;

import com.fxr.spring.model.User;

//@Component("userdao")//公共的创建bean的Annotation
@Repository("userdao")//@Repository一般用于DAO的注入

public class UserDao implements IUserDao{

	@Override
	public void add(User u) {

		System.out.println("添加"+u);

	}

	@Override
	public void delete(int id) {
		System.out.println("删除"+id);

	}

}
================================================
package com.fxr.spring.service;

import com.fxr.spring.dao.UserDao;
import com.fxr.spring.model.User;

public interface IUserService {

	public void add(User u);
	public void delete(int id);

}
================================================
package com.fxr.spring.service;

import javax.annotation.Resource;

import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

import com.fxr.spring.dao.UserDao;
import com.fxr.spring.model.User;

@Component("userservice")
@Service("userservice")//业务层一般使用@Service

public class UserService implements IUserService{

	private UserDao userdao;

	public UserDao getUserdao() {
		return userdao;
	}

	@Resource
	public void setUserdao(UserDao userdao) {
		this.userdao = userdao;
	}

	@Override
	public void add(User u) {
		userdao.add(u);

	}

	@Override
	public void delete(int id) {
		userdao.delete(id);

	}

}
=================================================
<?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-3.0.xsd
         http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context-3.0.xsd">
   <!-- 打开Spring的Annotation支持 -->
   <context:annotation-config/>
   <!-- 设定Spring 去哪些包中找Annotation -->
   <context:component-scan base-package="com.fxr.spring"/>

</beans>
==================================================
package com.fxr.spring.test;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.fxr.spring.action.UserAction;
import com.fxr.spring.model.HelloWorld;
import com.fxr.spring.model.User;

public class Test {

	private static BeanFactory factory = new ClassPathXmlApplicationContext("bean.xml");
	public static void main(String[] args) {

//		//创建一个类
//		HelloWorld hello = (HelloWorld) factory.getBean("helloworld");
//		hello.say();

		//创建一个类
		UserAction ua1 = (UserAction) factory.getBean("useraction");
		User u = new User(1,"张三");
		ua1.setU(u);
		System.out.println(u);
		ua1.add();
//		UserAction ua2 = (UserAction) factory.getBean("useraction");
//		ua2.add();
	}

}

  

时间: 2024-08-15 02:13:53

Spring之Annotation的使用的相关文章

spring注解 annotation

spring.xml新加入 xmlns:context="http://www.springframework.org/schema/context" http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd spring.xml中 1 <beans xmlns="http://www.springf

Spring的annotation用在set方法上 hibernate的annotation用get方法上

1.Spring的annotation用在set方法上 2.hibernate的annotation用在get方法上

深入分析JavaWeb Item52 -- Spring注解Annotation

一.注解 注解Annotation,是一种类似注释的机制,在代码中添加注解可以在之后某时间使用这些信息.跟注释不同的是,注释是给我们看的,java虚拟机不会编译,注解也是不编译的,但是我们可以通过反射机制去读取注解中的信息.注解使用关键字@interface,继承java.lang.annotition.Annotition 1.javaSE中的注解 先举个例子来回顾一下在javaSE中注解是什么东东,关键是两点,注解的定义与如何通过反射得到注解上面的信息. 1.先定义两个注解一个是在类上有注解

Spring 开启Annotation &lt;context:annotation-config&gt; 和 &lt;context:component-scan&gt;诠释及区别

Spring 开启Annotation <context:annotation-config> 和 <context:component-scan>诠释及区别 <context:annotation-config> 和 <context:component-scan>的区别 <context:annotation-config> 是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过package sanning的

Spring MVC annotation configuration

1. Web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns

spring framework Annotation(注解)

spring  framework (4.2.4)Annotation(注解)1.建立java项目 所用JAR commons-logging-1.1.3.jar spring-aop-4.2.4.RELEASE.jar spring-beans-4.2.4.RELEASE.jar spring-context-4.2.4.RELEASE.jar spring-core-4.2.4.RELEASE.jar spring-expression-4.2.4.RELEASE.jar 2.创建bean.

[Spring] IOC - Annotation

Spring Annotation使用例子. 与XML配置的例子一样:http://www.cnblogs.com/HD/p/3962541.html Project结构: 配置文件:springContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xs

[Spring MVC] - Annotation验证

使用Spring MVC的Annotation验证可以直接对view model的简单数据验证,注意,这里是简单的,如果model的数据验证需要有一些比较复杂的业务逻辑性在里头,只是使用annotation做验证是比较难的. 以下是使用Spring MVC自带的annotation验证,加上自定义的一个@Tel的annotation验证例子,此例子具有: 1.支持多语言(国际化) 2.对默认数据先进行转化,比如int.date类型如果传入空值时,会抛异常,默认给定值 先看配置: 1.web.xm

Spring(使用Annotation方式的AOP)

一.配置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.springframewo