Trong quá trình lập trình sử dụng Spring Framework, đặc biệt là lập trình Spring MVC để xây dựng một ứng dụng web thì việc thường xuyên sử dụng các Annotation trong spring là điều khó tránh khỏi.
Dưới đây là một số Annotation trong Spring thường dùng đi kèm với các ví dụ cụ thể
@Autowired
@Autowired: Annotation này trong spring giúp tự động liên kết các Bean lại với nhau, đây là một trong những đặc điểm nỗi bật của Spring để thể hiện tính chất DI và IOC (Dependency Injection và Inversion of Control).
Ví dụ về annotation @Autowired:
1 2 3 4 5 6 7 8 9 |
public class FooService { private FooFormatter fooFormatter; @Autowired public FooService(FooFormatter fooFormatter) { this.fooFormatter = fooFormatter; } } |
@Scope
@Scope: đây là môt Annotation mặc định trong Spring, hầu hết scope phổ biến cho các autodetected components là singleton (singleton: Với mỗi bean container chỉ tao duy nhất một đối tượng), để thay đổi phạm vi ta sử dụng @Scope.
Ví dụ về annotation @Scope:
1 2 3 4 5 |
@Bean @Scope("singleton") public Person personSingleton() { return new Person(); } |
@Component
@Component: dùng để scan các components.
Ví dụ về annotation @Component:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
@Component("fooFormatter") public class FooFormatter { public String format() { return "foo"; } } @Component public class FooService { @Autowired private FooFormatter fooFormatter; } |
@Repository
@Repository: dùng để scan các components để đánh dấu các lớp DAO/Repository của Spring.
Ví dụ về annotation @Repository:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
public interface EmployeeDAO { public EmployeeDTO createNewEmployee(); } @Repository ("employeeDao") public class EmployeeDAOImpl implements EmployeeDAO { public EmployeeDTO createNewEmployee() { EmployeeDTO e = new EmployeeDTO(); e.setId(1); e.setFirstName("Lokesh"); e.setLastName("Gupta"); return e; } } |
@Service
@Service: dùng để scan các components để đánh dấu các Service của lớp business.
Ví dụ về annotation @Service:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
public interface EmployeeManager { public EmployeeDTO createNewEmployee(); } @Service ("employeeManager") public class EmployeeManagerImpl implements EmployeeManager { @Autowired EmployeeDAO dao; public EmployeeDTO createNewEmployee() { return dao.createNewEmployee(); } } |
@Transactional
@Transactional: Annotation này trong spring giúp đánh dấu các class có sử dụng đến Transaction do Spring quản lý.
Ví dụ về annotation @Transactional:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public class CustomerManagerImpl implements CustomerManager { private CustomerDAO customerDAO; public void setCustomerDAO(CustomerDAO customerDAO) { this.customerDAO = customerDAO; } @Override @Transactional public void createCustomer(Customer cust) { customerDAO.create(cust); } } |
@Controller
@Controller: đây là môt Annotation trong spring mvc dùng để đánh dấu đây là lớp có chức năng là Controller.
Ví dụ về annotation @Controller:
1 2 3 4 5 6 7 8 9 10 11 |
@Controller ("employeeController") public class EmployeeController { @Autowired EmployeeManager manager; public EmployeeDTO createNewEmployee() { return manager.createNewEmployee(); } } |
@RequestMapping
@RequestMapping: đây là môt Annotation trong spring mvc dùng để cấu hình URL tương ứng với @WebServlet và mapping trong file xml với JSP/servlet.
1 2 3 4 5 |
@RequestMapping(value="/method0") @ResponseBody public String method0(){ return "method0"; } |
1 2 3 4 5 |
@RequestMapping(value={"/method1","/method1/second"}) @ResponseBody public String method1(){ return "method1"; } |
@RequestParam
1 2 3 4 5 |
@RequestMapping(value="/method9") @ResponseBody public String method9(@RequestParam("id") int id){ return "method9 with id= "+id; } |
@InitBinder
1 2 3 4 5 6 7 |
@InitBinder public void dataBinding(WebDataBinder binder) { binder.addValidators(userValidator, emailValidator); SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); dateFormat.setLenient(false); binder.registerCustomEditor(Date.class, "dob", new CustomDateEditor(dateFormat, true)); } |
@SessionAttribute
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
@SessionAttribute("myModel") @Controller public class MyController { @RequestMapping(...) public String displayForm(@RequestParam("id") long id, ModelMap model) { MyModel m = findById(id); model.put("myModel", m); // Initialized return ...; } @RequestMapping(...) public String submitForm(@ModelAttribute("myModel") @Valid MyModel m, BindingResult errors, SessionStatus status) { if (errors.hasErrors()) { // Will render a view with updated MyModel return ...; } else { status.setComplete(); // MyModel is removed from the session save(m); return ...; } } } |
@Valid
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
@Controller @RequestMapping("/customer") public class SignUpController { @RequestMapping(value = "/signup", method = RequestMethod.POST) public String addCustomer(@Valid Customer customer, BindingResult result) { if (result.hasErrors()) { return "SignUpForm"; } else { return "Done"; } } @RequestMapping(method = RequestMethod.GET) public String displayCustomerForm(ModelMap model) { model.addAttribute("customer", new Customer()); return "SignUpForm"; } } |
@ModelAttribute
@ModelAttribute: đây là môt Annotation trong spring mvc dùng để lấy các tham số và trả về một đối tượng (Object).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
@Controller @ControllerAdvice public class EmployeeController { private Map<Long, Employee> employeeMap = new HashMap<>(); @RequestMapping(value = "/addEmployee", method = RequestMethod.POST) public String submit( @ModelAttribute("employee") Employee employee, BindingResult result, ModelMap model) { if (result.hasErrors()) { return "error"; } model.addAttribute("name", employee.getName()); model.addAttribute("id", employee.getId()); employeeMap.put(employee.getId(), employee); return "employeeView"; } @ModelAttribute public void addAttributes(Model model) { model.addAttribute("msg", "Welcome to the Netherlands!"); } } |
Trên là một số annotation trong spring framework thường dùng, tất nhiên vẫn còn rất nhiều annotation khác, tuy nhiên tôi không nhắc đến trong bài viết này. Hy vọng với một số annotation mà tôi đưa ra ở trên sẽ giúp các bạn giải đáp một số thắc mắc và áp dụng vào thực tế ứng dụng web.
Dear Phú,
Mi có thể giải thích kỹ hơn phần này được không.
Cảm ơn.
Bạn cùng lớp với mi
Hoàng
Gai thich cung nhu khong
Hey, I think your blog might be having browser compatibility issues.
When I look at your blog site in Ie, it looks fine
but when opening in Internet Explorer, it has some overlapping.
I just wanted to give you a quick heads up! Other
then that, excellent blog!
Just desire to say your article is as amazing. The clarity in your post
is simply nice and i could assume you are an expert
on this subject. Well with your permission let
me to grab your feed to keep up to date with forthcoming post.
Thanks a million and please carry on the enjoyable work.
This piece of writing is in fact a nice one it helps new net users,
who are wishing for blogging.
Hurrah! After all I got a blog from where I can really obtain useful data regarding
my study and knowledge.
Thank you for the auspicious writeup. It in fact was a amusement
account it. Look advanced to far added agreeable from you!
By the way, how can we communicate?
Hello, this weekend is fastidious for me, as this point in time i am reading this impressive informative piece of writing here at my home.
When someone writes an post he/she retains the idea of a user in his/her brain that how a user can be aware
of it. So that’s why this post is great. Thanks!
I’d like to find out more? I’d like to find out more details.
Keep on working, great job!
It’s perfect time to make a few plans for the long run and it
is time to be happy. I’ve read this submit and if I could I wish to recommend you some interesting things or advice.
Perhaps you can write subsequent articles referring to this article.
I wish to read even more things about it!
It’s perfect time to make some plans for the future and it’s time to be happy.
I’ve read this post and if I could I want to suggest you some interesting
things or tips. Maybe you can write next articles referring to this article.
I desire to read more things about it!
Google
Here are some hyperlinks to web sites that we link to simply because we assume they are really worth visiting.
Google
Please take a look at the websites we stick to, like this a single, because it represents our picks from the web.
spolorm hund behandling
[…]although internet sites we backlink to beneath are considerably not connected to ours, we really feel they’re truly really worth a go as a result of, so possess a look[…]
Healthy salty snacks
[…]that may be the end of this post. Here youll come across some sites that we assume you will appreciate, just click the hyperlinks over[…]
powerful vibrator
[…]the time to study or pay a visit to the content or internet sites we have linked to below the[…]
msn se connecter
[…]below youll locate the link to some sites that we believe you should visit[…]
Al-Zaytoonah Elibrary
Explore electronic resources for free, thousands of eBooks, accounting eBooks, business eBooks, Marketing eBooks, Accounting eBooks, Banking eBooks, Design eBooks, Customers eBooks, Travel and Tourism eBooks and more
bdsm toy
[…]just beneath, are various totally not associated web sites to ours, nevertheless, they may be surely really worth going over[…]
bondage restraints
[…]we came across a cool site that you may possibly take pleasure in. Take a appear should you want[…]
adam and eve sex toy shop
[…]we like to honor many other world wide web web sites on the internet, even though they arent linked to us, by linking to them. Underneath are some webpages worth checking out[…]
sex hd جديد
[…]Wonderful story, reckoned we could combine several unrelated information, nonetheless actually worth taking a search, whoa did a single study about Mid East has got additional problerms too […]
uk education consultants in janakpuri
[…]here are some links to websites that we link to due to the fact we assume they are worth visiting[…]
langley appliance repair (604) 404-1677
[…]that is the end of this report. Here you will uncover some web-sites that we assume you will value, just click the links over[…]
long distance moving companies vancouver
[…]usually posts some very exciting stuff like this. If you are new to this site[…]
فني ستلايت مبارك الكبير
[…]one of our guests lately proposed the following website[…]
top 5 sex toys
[…]Wonderful story, reckoned we could combine a number of unrelated data, nonetheless definitely worth taking a search, whoa did one particular study about Mid East has got much more problerms at the same time […]
best lube for sex
[…]although internet websites we backlink to below are considerably not associated to ours, we feel they’re truly really worth a go through, so possess a look[…]
podcast
[…]here are some hyperlinks to sites that we link to since we consider they are worth visiting[…]
clitoral vibrators
[…]always a major fan of linking to bloggers that I love but do not get a good deal of link really like from[…]
poker terpercaya
[…]The information mentioned within the report are a number of the most beneficial accessible […]
city to city ride
[…]please visit the internet sites we stick to, like this one particular, because it represents our picks through the web[…]
situs online qq
[…]one of our visitors just lately recommended the following website[…]
adam and eve sex toys
[…]Here is a superb Weblog You might Uncover Interesting that we Encourage You[…]
my first vibrator
[…]we came across a cool website that you just may possibly delight in. Take a search for those who want[…]
best blow job tips
[…]we like to honor many other world-wide-web internet sites on the web, even though they arent linked to us, by linking to them. Beneath are some webpages worth checking out[…]
Make massive income
[…]although websites we backlink to beneath are considerably not connected to ours, we feel they’re really worth a go by means of, so have a look[…]
penis rings
[…]we prefer to honor several other world wide web websites around the net, even when they arent linked to us, by linking to them. Underneath are some webpages really worth checking out[…]
home decor for living room
[…]just beneath, are quite a few totally not connected websites to ours, having said that, they’re certainly worth going over[…]
vibrating dong
[…]Sites of interest we have a link to[…]
daftar sbobet
[…]we prefer to honor many other online websites on the web, even when they arent linked to us, by linking to them. Under are some webpages worth checking out[…]
review of precision cheats
singularity offers premium & free undetected csgo cheats with predefined configs that are updated frequently with 24/7 support.
apps download for windows 10,
[…]very couple of sites that take place to be detailed beneath, from our point of view are undoubtedly well worth checking out[…]
apk for pc download,
[…]Here is an excellent Blog You might Come across Fascinating that we Encourage You[…]
apps download for windows 8,
[…]just beneath, are numerous entirely not connected web sites to ours, on the other hand, they’re certainly really worth going over[…]
free app for laptop,
[…]Here are a number of the web-sites we recommend for our visitors[…]
free robux
[…]the time to read or pay a visit to the content material or internet sites we have linked to beneath the[…]
best cbd oil for pain
[…]check below, are some completely unrelated internet websites to ours, having said that, they’re most trustworthy sources that we use[…]
Online Fashion Store for men and women.
[…]Sites of interest we have a link to[…]
best cbd oil for pain
[…]Here are a few of the web-sites we suggest for our visitors[…]
Gizmoist.com
[…]please take a look at the internet sites we stick to, including this one, as it represents our picks from the web[…]
cowgirl sex toy machine
[…]that may be the end of this post. Right here you will discover some sites that we think you will value, just click the links over[…]
realistic dong
[…]very couple of internet websites that transpire to be detailed below, from our point of view are undoubtedly very well worth checking out[…]
masturbator sleeve
[…]please pay a visit to the internet sites we stick to, like this 1, because it represents our picks in the web[…]
anal play
[…]Here is a superb Blog You may Come across Fascinating that we Encourage You[…]
strapon harness
[…]we came across a cool web page that you just may love. Take a look if you want[…]
best cbd oil for pain
[…]always a large fan of linking to bloggers that I adore but do not get a lot of link really like from[…]
best cbd oil for pain
[…]Here is a great Weblog You might Locate Fascinating that we Encourage You[…]
جولف سيتي العبور
[…]we prefer to honor a lot of other online sites on the web, even if they arent linked to us, by linking to them. Underneath are some webpages really worth checking out[…]
how to use a prostate vibrator
[…]Here are a few of the web sites we recommend for our visitors[…]
XXX VIDEO
[…]Every once in a when we opt for blogs that we study. Listed below are the newest web pages that we decide on […]
PORN VIDEOS DOWNLOAD
[…]just beneath, are a lot of completely not related web-sites to ours, however, they’re certainly worth going over[…]
best vibrating penis extender
[…]check below, are some completely unrelated sites to ours, nonetheless, they’re most trustworthy sources that we use[…]
free robux for kids
[…]please take a look at the web sites we comply with, which includes this 1, as it represents our picks through the web[…]
ETORRENT PORN
[…]here are some hyperlinks to sites that we link to for the reason that we consider they may be really worth visiting[…]
gamesfriv
[…]here are some hyperlinks to web-sites that we link to since we consider they are really worth visiting[…]
เครื่องพิมพ์ฮ็อตแสตมป์
[…]check below, are some absolutely unrelated internet websites to ours, nonetheless, they’re most trustworthy sources that we use[…]
ViaGrA
[…]Every the moment inside a when we pick out blogs that we read. Listed below would be the most up-to-date internet sites that we decide on […]
viagra men
[…]the time to study or stop by the material or web pages we have linked to below the[…]
cbd oil for anxiety
[…]very couple of internet websites that transpire to become in depth below, from our point of view are undoubtedly effectively really worth checking out[…]
cbd for insomnia
[…]that is the end of this post. Here you will find some sites that we consider youll enjoy, just click the hyperlinks over[…]
https://royalcbd.com/product/cbd-oil-500mg/
[…]very handful of internet sites that occur to become comprehensive below, from our point of view are undoubtedly effectively really worth checking out[…]
https://royalcbd.com/product/cbd-capsules-25mg/
[…]Every when inside a when we choose blogs that we read. Listed below are the latest sites that we select […]
https://royalcbd.com/product/cbd-salve/
[…]one of our visitors just lately advised the following website[…]
https://royalcbd.com/product/cbd-gummies-25mg/
[…]we came across a cool web-site that you simply might delight in. Take a search in the event you want[…]
best CBD oil
[…]Every when inside a while we choose blogs that we study. Listed beneath are the latest internet sites that we select […]
Coinpunk
[…]The information mentioned within the write-up are some of the ideal out there […]
coinchomp
[…]Here are a few of the websites we advise for our visitors[…]
کلیپ ایرانی ساک زدن تو پارک
[…]Here are some of the web sites we advise for our visitors[…]
داستان سکسی جدید
[…]Here is an excellent Weblog You may Uncover Interesting that we Encourage You[…]
I simply want to tell you that I am newbie to blogging and site-building and honestly loved you’re web blog. Probably I’m want to bookmark your blog . You amazingly come with impressive article content. Kudos for sharing your website.
Hey dude, what kind of wordpress theme are you using? i want it to use on my blog too ,
An fascinating discussion is worth comment. I think that it’s best to write more on this topic, it won’t be a taboo topic however usually individuals are not enough to speak on such topics. To the next. Cheers
One more issue is that video gaming became one of the all-time main forms of recreation for people spanning various ages. Kids participate in video games, and also adults do, too. Your XBox 360 is one of the favorite games systems for folks who love to have a lot of video games available to them, and who like to experiment with live with some others all over the world. Many thanks for sharing your opinions.
Spot on with this write-up, I seriously feel this web site needs a great deal more attention. I’ll probably be returning to read more, thanks for the info!
Do you believe past life regression? Do you think past lives regression is real?
You’re so cool! I do not suppose I have read through something like that before. So wonderful to find somebody with genuine thoughts on this issue. Really.. many thanks for starting this up. This site is one thing that’s needed on the web, someone with some originality.
I blog quite often and I seriously appreciate your information. This great article has truly peaked my interest. I am going to book mark your website and keep checking for new details about once per week. I opted in for your Feed as well.
I’m amazed, I must say. Rarely do I come across a blog that’s both educative and engaging, and without a doubt, you’ve hit the nail on the head. The problem is something which not enough folks are speaking intelligently about. I’m very happy that I came across this during my search for something regarding this.
May I simply say what a relief to discover somebody that really knows what they’re talking about over the internet. You definitely understand how to bring a problem to light and make it important. More and more people should check this out and understand this side of your story. It’s surprising you’re not more popular since you certainly have the gift.
I blog often and I really thank you for your content. Your article has really peaked my interest. I’m going to bookmark your blog and keep checking for new information about once per week. I opted in for your RSS feed as well.
I’m extremely pleased to find this page. I wanted to thank you for your time just for this wonderful read!! I definitely really liked every little bit of it and I have you book marked to see new stuff on your web site.
When I initially left a comment I seem to have clicked the -Notify me when new comments are added- checkbox and now whenever a comment is added I get four emails with the same comment. Is there a means you can remove me from that service? Kudos.
Very good write-up. I absolutely love this website. Stick with it!
I’m impressed, I must say. Rarely do I encounter a blog that’s both equally educative and amusing, and without a doubt, you have hit the nail on the head. The problem is something that not enough folks are speaking intelligently about. I’m very happy I found this during my search for something regarding this.
I blog frequently and I truly thank you for your content. The article has really peaked my interest. I am going to take a note of your blog and keep checking for new details about once per week. I subscribed to your RSS feed too.
Pretty! This has been an incredibly wonderful post. Thank you for supplying these details.
good https://www.wooricasinokorea.com/theking 더킹카지노
Great post! We are linking to this great post on our site.
Keep up the great writing.
It’s hard to come by well-informed people in this particular subject, but you sound like you know what you’re talking about! Thanks
Right here is the right site for anyone who wishes to find out about this topic. You realize so much its almost tough to argue with you (not that I personally will need to…HaHa). You certainly put a fresh spin on a topic which has been written about for years. Great stuff, just wonderful.
Your style is very unique compared to other people I have read stuff from. Thanks for posting when you have the opportunity, Guess I’ll just bookmark this blog.
When I originally commented I appear to have clicked on the -Notify me when new comments are added- checkbox and from now on every time a comment is added I recieve four emails with the same comment. There has to be a way you can remove me from that service? Cheers.
Good post. I absolutely appreciate this website. Keep writing!
FreeSpinner is designed to help you with writting all the text that you need.
Saved as a favorite, I like your website!
I like it when people get together and share views. Great blog, stick with it!
Hi there! I could have sworn I’ve been to
this blog before but after looking at many of the articles I realized it’s new to
me. Anyways, I’m definitely delighted I stumbled
upon it and I’ll be bookmarking it and checking back often!
I’m amazed, I must say. Rarely do I come across a blog that’s both equally educative and amusing, and let me tell you, you have hit the nail on the head. The issue is an issue that too few men and women are speaking intelligently about. I am very happy that I stumbled across this during my hunt for something concerning this.
It can be mostly impossible to see well-advised individuals on this theme, still you seem like you be aware of what you’re preaching about! Excellent
Thanks a bunch for sharing this with all folks you really realize what you are speaking about!
Bookmarked. Please additionally talk over with
my site =). We could have a hyperlink change arrangement among us
I have to thank you for the efforts you have put in writing this website. I’m hoping to see the same high-grade content by you in the future as well. In fact, your creative writing abilities has encouraged me to get my own website now 😉
I just desire to share it with you that I am new to posting and utterly liked your information. More than likely I am going to remember your blog post . You truly have fantastic article materials. Admire it for discussing with us your favorite internet document
My brother recommended I may like this website. He was entirely right.
This submit truly made my day. You cann’t consider just how much
time I had spent for this information! Thanks!
Really enlightening advice you’ll have said, say thanks a lot for setting up.
I truly love your site.. Excellent colors & theme. Did you build this website yourself? Please reply back as I’m trying to create my very own blog and want to find out where you got this from or what the theme is named. Thank you!
I just intend to inform you that I am new to blog posting and clearly enjoyed your page. Most likely I am likely to store your blog post . You absolutely have excellent article materials. Appreciate it for expressing with us your very own internet post
Having read this I believed it was extremely enlightening. I appreciate you taking the time and energy to put this short article together. I once again find myself personally spending way too much time both reading and leaving comments. But so what, it was still worth it.
Good site you have here.. It’s difficult to find excellent writing like yours nowadays. I honestly appreciate individuals like you! Take care!!
May I just say what a relief to find somebody who truly knows what they’re talking about on the web. You definitely realize how to bring a problem to light and make it important. More people really need to look at this and understand this side of the story. It’s surprising you aren’t more popular given that you definitely possess the gift.
Oh my goodness! Amazing article dude! Thank you, However I am experiencing problems with your RSS. I don’t understand the reason why I cannot subscribe to it. Is there anybody getting identical RSS issues? Anybody who knows the answer will you kindly respond? Thanx!!
That is a really good tip especially to those fresh to the blogosphere. Brief but very precise information… Thank you for sharing this one. A must read article.
Right here is the perfect web site for everyone who would like to find out about this topic. You know so much its almost hard to argue with you (not that I actually will need to…HaHa). You certainly put a new spin on a topic that’s been discussed for many years. Excellent stuff, just wonderful.
I was more than happy to uncover this web site. I wanted to thank you for ones time due to this wonderful read!! I definitely really liked every part of it and I have you book marked to look at new things on your website.
I’m very pleased to find this great site. I need to to thank you for your time just for this wonderful read!! I definitely enjoyed every little bit of it and i also have you saved to fav to check out new things on your web site.
This is the perfect webpage for everyone who wants to find out about this topic. You realize a whole lot its almost hard to argue with you (not that I really will need to…HaHa). You certainly put a new spin on a subject which has been written about for ages. Wonderful stuff, just wonderful.
You’ve made some good points there. I checked on the net to find out more about the issue and found most individuals will go along with your views on this site.
Pretty! This has been a really wonderful article. Thank you for supplying this information.
This web site definitely has all of the information and facts I wanted concerning this subject and didn’t know who to ask.
MetroClick specializes in building completely interactive products like Photo Booth for rental or sale, Touch Screen Kiosks, Large Touch Screen Displays , Monitors, Digital Signages and experiences. With our own hardware production facility and in-house software development teams, we are able to achieve the highest level of customization and versatility for Photo Booths, Touch Screen Kiosks, Touch Screen Monitors and Digital Signage. Visit MetroClick in NYC at http://www.metroclick.com/ or , 121 Varick St, New York, NY 10013, +1 646-843-0888.
This web site really has all the information and facts I needed about this subject and didn’t know who to ask.
This is a good tip especially to those new to the blogosphere. Short but very precise info… Appreciate your sharing this one. A must read post.
This web site truly has all the information and facts I wanted about this subject and didn’t know who to ask.
An outstanding share! I’ve just forwarded this onto a friend who has been conducting a little research on this. And he actually bought me breakfast simply because I stumbled upon it for him… lol. So let me reword this…. Thanks for the meal!! But yeah, thanks for spending the time to talk about this issue here on your blog.
This is a topic that is near to my heart… Best wishes! Where are your contact details though?
That is a good tip particularly to those new to the blogosphere. Brief but very precise info… Thank you for sharing this one. A must read post!
This is the perfect webpage for anyone who really wants to find out about this topic. You know a whole lot its almost tough to argue with you (not that I really would want to…HaHa). You certainly put a fresh spin on a topic which has been written about for many years. Excellent stuff, just great.
Can I simply just say what a relief to discover a person that actually understands what they’re talking about on the web. You definitely realize how to bring an issue to light and make it important. More and more people must check this out and understand this side of the story. It’s surprising you are not more popular because you surely possess the gift.
Great web site you have here.. It’s hard to find excellent writing like yours these days. I really appreciate people like you! Take care!!
Excellent site you have got here.. It’s difficult to find quality writing like yours nowadays. I truly appreciate individuals like you! Take care!!
This web site definitely has all the information and facts I needed concerning this subject and didn’t know who to ask.
Some truly nice and utilitarian information on this site, as well I believe the style has got excellent features.
Oh my goodness! Incredible article dude! Thanks, However I am encountering difficulties with your RSS. I don’t know why I can’t subscribe to it. Is there anybody else getting similar RSS issues? Anybody who knows the answer can you kindly respond? Thanx!
You need to be a part of a contest for one of the highest quality sites on the net. I’m going to recommend this website!
I visited many blogs but the audio feature for audio
songs existing at this web site is truly marvelous.
Howdy! This post could not be written much better! Looking at this post reminds me of my previous roommate! He continually kept preaching about this. I will forward this article to him. Fairly certain he will have a very good read. Thank you for sharing!
Nice post. I learn something totally new and challenging on sites I stumbleupon everyday. It’s always exciting to read content from other writers and use something from their websites.
Great info. Lucky me I recently found your website by accident (stumbleupon). I’ve saved as a favorite for later!
The very next time I read a blog, Hopefully it does not disappoint me as much as this one. After all, I know it was my choice to read, however I genuinely thought you would have something useful to say. All I hear is a bunch of complaining about something you could possibly fix if you weren’t too busy searching for attention.
This is a topic which is close to my heart… Many thanks! Where are your contact details though?
Great web site you’ve got here.. It’s difficult to find high quality writing like yours nowadays. I really appreciate individuals like you! Take care!!
Hey, you used to write fantastic, but the last few posts have been kinda boring… I miss your tremendous writings. Past several posts are just a little out of track! come on!
Everything is very open with a clear clarification of the challenges. It was definitely informative. Your site is extremely helpful. Many thanks for sharing.
After looking into a handful of the blog articles on your web site, I really like your way of blogging. I bookmarked it to my bookmark website list and will be checking back soon. Please visit my website too and let me know your opinion.
Pretty! This was an incredibly wonderful post. Many thanks for supplying this information.
Aw, this was an incredibly nice post. Taking a few minutes and actual effort to create a superb article… but what can I say… I put things off a lot and don’t seem to get nearly anything done.
Hello there! I simply would like to offer you a huge thumbs up for the excellent information you have right here on this post. I’ll be coming back to your web site for more soon.
Pretty! This was an incredibly wonderful article. Thanks for providing this info.
Spot on with this write-up, I truly believe this website needs much more attention. I’ll probably be back again to see more, thanks for the info.
An intriguing discussion is worth comment. There’s no doubt that that you ought to write more about this subject, it may not be a taboo subject but typically people don’t speak about these issues. To the next! Best wishes.
Saved as a favorite, I love your website.
This is a topic which is close to my heart… Take care! Exactly where are your contact details though?
I like it when people come together and share thoughts. Great site, keep it up!
Way cool! Some extremely valid points! I appreciate you writing this write-up and the rest of the site is also really good.
Oh my goodness! Impressive article dude! Thank you so much, However I am going through troubles with your RSS. I don’t understand why I can’t join it. Is there anybody having identical RSS issues? Anyone that knows the answer will you kindly respond? Thanx!
You are so awesome! I do not suppose I’ve truly read something like this before. So great to discover another person with original thoughts on this subject. Really.. thanks for starting this up. This site is one thing that is required on the internet, someone with a bit of originality.
I dugg some of you post as I cerebrated they were very beneficial handy
The next time I read a blog, I hope that it does not disappoint me just as much as this one. I mean, I know it was my choice to read through, nonetheless I truly thought you’d have something interesting to say. All I hear is a bunch of moaning about something that you can fix if you were not too busy seeking attention.
May I simply just say what a relief to discover a person that truly understands what they’re talking about on the web. You certainly realize how to bring an issue to light and make it important. A lot more people need to look at this and understand this side of your story. I was surprised you are not more popular since you definitely have the gift.
Hello there! This post couldn’t be written much better! Reading through this article reminds me of my previous roommate! He constantly kept talking about this. I’ll forward this post to him. Pretty sure he’s going to have a good read. I appreciate you for sharing!
I was able to find good advice from your articles.
Hi there! I just want to give you a big thumbs up for your excellent information you have here on this post. I will be coming back to your site for more soon.
Greetings! Very helpful advice in this particular post! It is the little changes that will make the most significant changes. Thanks a lot for sharing!
Fatima Bhutto Email Polytechnic School Pasadena Ranking
Here is my web page … books
I needed to thank you for this good read!! I definitely loved every little bit of it. I have got you book-marked to check out new stuff you post…
That is a good tip particularly to those new to the blogosphere. Short but very accurate info… Thank you for sharing this one. A must read article.
… [Trackback]
[…] Informations on that Topic: itphutran.com/mot-annotation-trong-java-spring-thuong-su-dung/ […]