CDI技术第九步 构造注入与setter注入

CDI技术第九步 构造注入与setter注入

构造器注入和setter注入其实都很简单,有过spring基础的人都会玩。但在这里我还是不厌其烦的写点代码试验试验。

我写个简单,构造器注入一个数字asetter方法注入一个数字b,然后完成相加。

package com.rschy.cdiinject;

 

import java.util.Random;

 

import javax.enterprise.context.RequestScoped;

import javax.enterprise.inject.Produces;

 

@RequestScoped

public class RandomInt {

 

@Produces

public int get(){

return new Random().nextInt(100);

}

}

package com.rschy.cdiinject;

 

import java.io.IOException;

 

import javax.enterprise.inject.Instance;

import javax.inject.Inject;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

@WebServlet("/add.html")

public class AddServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

private Instance<Integer> a;

private Instance<Integer> b;

 

@Inject

public AddServlet(Instance<Integer> a) {

super();

this.a = a;

}

 

@Inject

public void setB(Instance<Integer> b) {

this.b = b;

}

 

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse respthrows ServletException, IOException {

int a1 = a.get();

int b1 = b.get();

resp.getWriter().append(a1 + "+" + b1 + "=" + (a1 + b1));

}

 

}

就这么简单,浏览器运行结果:

 CDI技术第九步 构造注入与setter注入_第1张图片

你可能感兴趣的:(bean,技术,CDI,对象,应用)